从不同的线程调用方法自动重置事件是否安全
本文关键字:事件 安全 是否 方法 线程 调用 | 更新日期: 2023-09-27 17:56:52
从
不同的线程调用方法AutoResetEvent是否安全?还是应该避免从不同线程调用对象?
class Test
{
EventWaitHandle wh = new AutoResetEvent(false);
Thread worker = new(Work);
public Test
{
worker.Start();
}
public void StopSignal()
{
wh.Set(); //<-- Main thread Call
}
void Work()
{
wh.WaitOne(); //<-- Child thread call
}
}
是的,从不同的线程调用方法AutoResetEvent是安全的。看看这个链接。我希望这能让你清楚。
这很好 - 这就是它的用途!
有关详细信息,请参阅此 MSDN 文章。底部附近有一个名为"线程安全"的部分,该部分列出了MSDN上的大多数类,因此,如果您不确定将来是否有任何其他类是线程安全的,则可以在那里进行检查。
AutoResetEvent 和 ManualResetEvent 的全部意义在于提供不同线程之间的同步!
有关详细信息,请参阅本文。