[英]C# Process and Thread Termination When Time is Up - Waitable Timer
我正在尝试创建以下效果:
我有x个线程同时运行,我希望它们在计时器关闭时全部停止。
我唯一能想到的就是拥有一个共享的布尔值,该值会随着时间的流逝而改变。 有谁知道如何通过线程计时器和AutoResetEvent做到这一点?
我很难找出如何使用自动重置事件...
您知道实现此效果的更好方法吗?
流程呢?
与其共享布尔值,不如使用ManualResetEvent并让每个线程等待它。
private static void ThreadDelegate(object state)
{
object[] stateArray = (object[])state;
ManualResetEvent resetEvent = (ManualResetEvent)stateArray[0];
//Do some work.
...
resetEvent.WaitOne();
}
这将阻塞线程,直到您调用resetEvent.Set();
我想对此的最佳答案实际上取决于您如何构造代码。 我的建议取决于//Do some work
例如创建一个Timer
并每隔一段时间调用一次回调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.