0
我試圖創建以下效果:C#進程和線程終止時間結束 - 可等待計時器
我在同一時間運行的線程x個,我想他們都停止時,計時器進入關閉。
我能想到的唯一的事情就是擁有一個共享的布爾值,當時間到了時它會改變。有誰知道如何用線程計時器和AutoResetEvent做到這一點?
我有一個很難找到如何使用自動復位事件......
你知道的更好的方法來達到這種效果?
過程怎麼樣?
我試圖創建以下效果:C#進程和線程終止時間結束 - 可等待計時器
我在同一時間運行的線程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
並在某個間隔調用回調一樣。