我讀過有關任務的好處Difference between Task (System.Threading.Task) and Thread我應該用「Task.Factory.StartNew」替換所有「新線程」嗎?
而且MSDN說:「......在.NET Framework 4中,任務是編寫多線程,異步和並行代碼的首選API。」
現在我的程序包含從UDP接收組播數據這樣的代碼:
thread = new Thread(WhileTrueFunctionToReceiveDataFromUdp);
.....
thread.Start();
我有幾個這樣的線程,每個插座。 我是否更好地將此代碼替換爲使用Task
?
一個線程是足夠通常是不好的。每個套接字的許多線程並不是朝着正確方向邁出的一步,而使用線程池而不是自己的線程可能會更糟糕。 – Jon 2012-03-15 20:21:30
當然不是。永遠不要替換有效的代碼。特別是線程代碼。任務不會改變線程的行爲,它只是使寫這樣的代碼更容易。 – 2012-03-15 20:22:19
@Jon我應該用什麼接收來自多個套接字的數據呢? – javapowered 2012-03-15 20:29:18