我有一個C#線程,它在10分鐘後反覆運行,並且從此線程假設10個C#4.0任務正在運行不同的時間執行一些工作。如何停止在C#中線程內安全運行的所有C#任務
現在,當我重複該線程時,我如何確保所有10個內部任務都安全停止,然後一旦此線程重新開始運行,就再次啓動。
我有一個C#線程,它在10分鐘後反覆運行,並且從此線程假設10個C#4.0任務正在運行不同的時間執行一些工作。如何停止在C#中線程內安全運行的所有C#任務
現在,當我重複該線程時,我如何確保所有10個內部任務都安全停止,然後一旦此線程重新開始運行,就再次啓動。
如果你想等一些Task
完成,你可以將它們存儲在某個地方,然後撥打Task.WaitAll()
。
但很難說如果這是最好的方法,而不知道更多關於您的代碼。
我的任務不會隨時完成,因爲他們是無限的 – 2013-03-05 12:05:38
@AbhishekGupta爲什麼?如果你使用它們來執行你需要的工作,然後完成它們(通過從委託中返回),「任務」會更好地工作。 – svick 2013-03-05 18:28:59
是的,謝謝@Svick – 2013-03-06 06:57:44
請顯示您的代碼。如果您正在使用Task類,則可以在任務對象上調用Wait()方法。 – 2013-03-05 06:43:37