I was reading the following on Microsoft's website within their threading tutorial:
http://msdn.microsoft.com/en-us/library/aa645740(v=vs.71).aspx
MSDN suggests using the following to wait for a thread to become alive:
while (!oThread.IsAlive);
Is this the recommended way to wait? Would it be better to insert a "DoEvents" call to allow the main thread to remain responsive? How should error handling be done in case something goes wrong and the thread never comes "alive?" If this is bad practice, when is IsAlive best used?
A few moderators have marked this as a duplicate, but the other question they reference doesn't mention anything about IsAlive, DoEvents, or proper error handling if the thread fails to start. My question is specifically related to the MSDN article I linked to within my question and its suggestion to use a busy loop with IsAlive.
Seeing as there is no official answer yet... What you have seen on MSDN is from 2003, this is relatively old technology. For what you want to do I would use the Task Parallel Library (TPL). This requires .NET Framwork 4.0+.
For a great tutorial on how to use the TPL for what you require see:
Once you get to grips with TPL, feel free to come back and look for ask particular questions.
I hope this helps.