0
假設像下面這樣的方法和標準的.Net事件,而不關心多線程。當你想要確保事件2處理程序在事件1處理程序完成之前不會啓動時,使用什麼樣的好模式?事件計時問題
SomeMethod(){
RaiseEvent1();
RaiseEvent2();
}
編輯
我認爲應該爲克雷格說。如果有100個實例的壓力測試有時會失敗,看起來像是比賽條件,那麼你會看到什麼特別的地方?
假設像下面這樣的方法和標準的.Net事件,而不關心多線程。當你想要確保事件2處理程序在事件1處理程序完成之前不會啓動時,使用什麼樣的好模式?事件計時問題
SomeMethod(){
RaiseEvent1();
RaiseEvent2();
}
我認爲應該爲克雷格說。如果有100個實例的壓力測試有時會失敗,看起來像是比賽條件,那麼你會看到什麼特別的地方?
完全如此,只要RaiseEvent1和RaiseEvent2不是多線程RaiseEvent2只會在RaiseEvent1完成後纔會被觸發。如果他們是多線程使用手動/自動重置事件,以標誌是否已完成或沒有。
看看這裏給出的例子:Manual Reset Event
+1的限制提到通過'ManualResetEvent' – Clint 2013-04-04 21:34:16
@ craig1231。請參閱編輯並讓我知道是否有任何想法。乾杯 – Berryl 2013-04-04 21:39:19
我不確定我完全理解你的編輯......它取決於正在執行什麼以及它爲什麼失敗......沒有這些信息我不知道 – craig1231 2013-04-04 21:47:33