你好,我是新來的多線程和任務在C#.NET從唯一的幫助我成功啓動一個新的任務taht可以繼續運行inbackground使用:無法關閉由Task.Factory.StartNew
//if(tsk =NotRunning){
tsk = Task.Factory.StartNew(TheMethod);
它現在工作正常,但現在當它的開始無法阻止它現在,我一直在尋找msdn,並發現了幾個方法,似乎在做這項工作像Dispose
買他們不這樣做,所以我想要知道兩件事:
我如何檢查此任務是否已在運行? (這是一個MVC項目,任務是由控制器調用
…/Task/Start
啓動的,所以我不想在每次訪問此URL時都繼續啓動另一個任務實例我只希望在整個應用程序中運行它的一個實例在後臺運行)其次我該如何阻止它不是,我嘗試以下,但沒有奏效:
public void TaskClose() { tsk.Dispose(); var st = tsk.Status.ToString(); }
我知道有可能是把它在互聯網上公佈幾個答案,但他們大多使用Lambda的表達和我不是很排練的我非常樂意以其他方式提供答案,我甚至會意識到你可以指出我可以用來完成我的結果的名稱method
或property
。
謝謝。
建議學習lambda表達式語法和單獨的線程(都是合理先進的概念),然後當你確定你已經釘住了它們,結合這兩個想法。 – tomfanning
是的,我猜所以我已經開始,但我的其他quesry仍remian回答我如何檢查是任務已在運行或不? – Maven
最終,你原來的問題的答案是「你不能」,這就是爲什麼我建議開始慢一點。 – tomfanning