我有一個管理進程的類。當在這個類上調用Stop()
或Dispose()
時,它會首先向進程發送TCP命令,要求它關閉自己,然後在1秒鐘內檢查,如果不是關閉,請調用CloseMainWindow()
,然後等待另一秒鐘,如果它仍在運行,致電Kill()
。自處理類
現在我有一個List<>
這個類來管理一堆進程。當我想從列表中刪除它們時,我會手動呼叫Dispose()
,然後Remove()
。我想確保在我放棄唯一參考資料之前,我打電話給Dispose()
。由於致電Dispose()
需要至少2秒才能返回,因此如果我有5個物品需要移除,則需要一段時間。
因此,我打算有另一個函數SafeDispose()
,然後Invoke()
Dispose()
然後返回。現在從列表中刪除這些並且調用SafeDispose()
而不是Dispose()
將立即進行,而類本身緩慢地處置它們。
建議這樣做嗎?
我不明白爲什麼你需要在一個強加的事件當沒有必要的時候上課。你基本上把一個回調硬連接到Dispose方法上。 – 2011-02-28 03:34:23
@Sleeper。我想你在我編輯它之前閱讀我的答案。這個事件不是強加的。 – Eduardo 2011-02-28 03:38:10
我沒有看到這個解決方案的重點。射擊事件也是一種阻擋方法,所以它仍然需要等待。 – faulty 2011-02-28 04:46:14