Here is how I resume a suspended thread.
if SerialThread.ThreadState = ThreadState.Suspended then
SerialThread.Resume;
Although the above code doesn't raise compiler error or syntax error, it does however raise warning as follows;
TSerialIndicator.pas(77,18): warning PW3: Obsolete: "System.Threading.Thread.Resume has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.
So, what is the proper way in .NET to resume a suspended thread?
AutoResetEvent is great for "suspending" a thread, your thread code just calls event.Wait till it has something to, when the caller calls event.Set() which breaks the wait.