Thread.Resume已过时或已过时:如何在不使用System.Threading.Thread.Resume的情况下恢复挂起的线程?

时间:2013-02-08 16:06:14

标签: .net multithreading delphi-prism oxygene

以下是我恢复暂停线程的方法。

  if SerialThread.ThreadState = ThreadState.Suspended then
    SerialThread.Resume;

虽然上面的代码不会引起编译器错误或语法错误,但它会引发如下警告:

  

TSerialIndicator.pas(77,18):警告PW3:已废弃:“System.Threading.Thread.Resume已被弃用。请使用System.Threading中的其他类,如Monitor,Mutex,Event和Semaphore,同步线程或保护资源。

那么,.NET恢复挂起线程的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

AutoResetEvent非常适合“挂起”一个线程,你的线程代码只调用event.Wait,直到它有东西,当调用者调用event.Set()时会中断等待。