以下是我如何恢复挂起的线程。
if SerialThread.ThreadState = ThreadState.Suspended then
SerialThread.Resume;
虽然上面的代码没有引发编译器错误或语法错误,但它确实引发了如下警告;
TSerialIndicator.pas(77,18):警告PW3:过时:"System.Threading.Thread.Resume已被弃用。请使用System.Threading中的其他类,如Monitor、Mutex、Event和Semaphore,来同步线程或保护资源。
那么,在.NET中恢复挂起的线程的正确方法是什么呢?
AutoResetEvent非常适合"挂起"线程,您的线程代码只调用事件。当调用者调用事件时,等待它有事情要做。Set(),它中断了等待。