I don't know that there is the precise thing you are asking for, but there are some things that might help. If you just start the thread in a loop like that, then you certainly won't have any way to identify the thread later. However, if you were to create an array of threads, you could give each one a name. Of course, in that case, you might also look at the thread pool, and look at the ManagedThreadID property in particular. That would give you something like a unique id for each thread, but then you would have to decide what to do with it.