1
我有一個測試使用.NET任務並行庫:TPL - 設置任務到了Thread.sleep很長一段時間
static void Main(string[] args)
{
for(int i = 0; i < 1000; i++)
{
int n = i;
Task.Factory.StartNew(() => TaskTest(n));
}
}
static void TaskTest(int i)
{
// Will sleep for a long time
Thread.Sleep(TimeSpan.FromMinutes(i));
// Do something here
}
有一兩件事我不知道:當了Thread.Sleep在上面的代碼執行,會發生什麼?我知道它不會佔用ThreadPool中的線程,如果我將多個任務設置爲Thread.Sleep很長時間,例如24小時,是否有任何缺點?
我嘗試運行您的代碼,但未找到任何等待的任務,它在我的計算機上運行良好。 – superche