我有一種情況,我正在處理線程中的一些數據,最初從一個事件觸發,但它需要等到事件發生在主線程繼續之前 - 問題在那裏可能有任何數量的這些併發運行。真正的基本示例:等待事件從主線程觸發後臺線程產生它
事件觸發 - >方法設置爲在其自己的線程後臺運行 - >使用主線程的發送數據方法發送數據 - >等待接收該數據的ACK - >設置主線程上的WaitHandle - >工作線程將發送下一組數據 - >重複 - >退出線程,當所有數據已經發送並確認時。
目前我有一個AutoResetEvent在每次ACK進入時都被設置 - 而且正在運行的工作線程將監聽這個 - 但是如果碰巧有10個同時運行的這些工作線程,並且它們都是聽它 - 它擊敗了目的。
我需要產生工作線程,並讓它監聽(WaitOne),以便設置/重置一個特定的WaitHandle,並且繼續僅基於此。
什麼是完成這樣的事情的最佳方法?以某種方式創建一個WaitHandles數組並讓工作線程監聽其索引的AutoResetEvent?
「以某種方式創建一個WaitHandles數組並讓工作線程偵聽其索引的AutoResetEvent? 「 - 是的:-) –