1
在我的計劃,我有〜40正在運行的任務,等被定義:Task.Run花費很多時間來啓動任務
private void StartTryReconnectTask() {
TryReconnectCTKS = new CancellationTokenSource();
TryReconnectTask = new Task(this.TryReconnect, TryReconnectCTKS.Token);
TryReconnectTask.Start();
}
內TryReconnect()有一個無限while循環停止,只有當任務取消。在這裏,一切似乎都很好。
然後,我需要點擊一個按鈕啓動任務(不是無限的):
private void ExecuteRepairCommand(object o) {
Task.Run(() => {
...
});
}
要花〜四十○分之三十○秒鐘就可以啓動這個新的任務。 如果我使用線程一切正常,線程立即啓動。爲什麼?原因是什麼?
我認爲這可能是異步的事情或缺乏他們的,我不認爲它開始後30-40秒,那是當它完成。也許嘗試使ExecuteRepairCommand異步,然後等待任務。 –
創建任務時使用'TaskCreationOptions.LongRunning'標誌。 –
@SriramSakthivel哇謝謝你!你可以發佈答案,所以我可以標記它是正確的嗎? – rmbq