這可能是一個奇怪的問題,它確實是爲了我的教育目的,所以我可以將它應用於未來可能出現的場景中。如何確定Task.Run是否在一個循環內完成
我正在使用C#。
我是壓力測試,所以這不是生產代碼。
我通過Web服務將數據上傳到我的服務器。
我使用Run.Task啓動服務。
我在允許下一個Run.Task開始之前檢查是否已完成任務。
這是在一個循環內完成的。
但是,因爲我正在使用模塊化的聲明任務會不會影響結果? 我可以聲明一個本地的Task.Run變量,但我想看看我能在第一個問題中得到多少。
如果Task.Run可以引發事件說它已完成,那麼這可能不是問題?
這是我的代碼:
//模塊聲明:
private static Task webTask = Task.Run(() => { System.Windows.Forms.Application.DoEvents(); });
//在通過定時器
if (webTask.IsCompleted)
{
//keep count of competed tasks
}
webTask = Task.Run(() =>
{
try
{
wcf.UploadMotionDynamicRaw(bytes); //my web service
}
catch (Exception ex)
{
//deal with error
}
);
使用[任務繼續](http://msdn.microsoft.com/en-us/library/ee372288%28v=vs.110%29的.aspx)。有不同的修改。其中之一是*在任務完成後做些事*。國際海事組織你不需要計時器 - 改變你的代碼到'webTask.ContinueWith ...'。 – pasty 2015-01-04 10:20:56
@pasty嗨,謝謝你的反應。我會看看這個,現在並報告 - 謝謝:) – 2015-01-04 10:23:24
@pasty所以,當我修改我的代碼如下: – 2015-01-04 10:26:10