From MSDN Docs on the Join method:
"
Remarks
Use this method to ensure a thread has terminated. The caller will block
indefinitely if the thread does not terminate.
This method changes the state of the calling thread to include
ThreadState.WaitSleepJoin. You cannot invoke Join on a thread that is in
the ThreadState.Unstarted state.
"
I think what you are doing is invoking Join on a thread that is in the
ThreadState.Unstarted state.
If there is a bug, it is probably that this bit is not tested on calls to
Join. If that is what you are doing, the calling thread should throw an
IllegalThreadStateException or something in Join, maybe.
Perhaps you could do that in your thread wrapper class ...
I think I will let somebody else comment on your wrapper class because just
looking at it gives me a brain freeze headache
Really good weblogs on this stuff can be found on
www.gotdotnet.com. I
would suggest reading Christopher Brumme's stuff - good detailed accounts
on the CLR internals and well written, easy to read.
Bob LaCasse
Microsoft Developer Support - Visual J#.NET
This posting is provided AS IS with no warranties, and confers no rights.