我有這樣的代碼:.NET 4.0:System.Threading.Tasks:我可以執行一系列任務而不需要線程化嗎?
Dim Tasks As New List(Of Task)
Tasks.Add(Task.Factory.StartNew(Sub()
'Do whatever
End Sub))
Tasks.Add(Task.Factory.StartNew(Sub()
'Do some stuff here
End Sub))
Tasks.Add(Task.Factory.StartNew(Sub()
'Do more code
End Sub))
Task.WaitAll(Tasks.ToArray())
這是在ASP.NET應用程序正在做的,並導致生產中的問題。我想禁用任務線程,以便所有匿名方法都可以連續執行,但這意味着要重寫代碼以將匿名方法變爲實際方法,然後調用它們。如果有設置會導致任務收集不以這種線程方式運行,那真的會很好。這可能嗎?
出於興趣,這會導致什麼問題? – 2012-01-05 13:46:17
還沒弄明白。這是一個隨機的「線程被中止的例外」。我正在做的是發射一堆打開連接的線程,但它隨機點死亡。 – oscilatingcretin 2012-01-05 14:06:04
聽起來很奇怪。您處理了多少個併發請求?這似乎不太可能,但我想知道ASP.NET是否用完了線程池線程。 – 2012-01-05 14:37:28