.NET 4.0中的TaskFactory.StartNew
顯然是用來代替ThreadPool.QueueUserWorkItem
(according to this post, anyway)。我的問題很簡單:有誰知道爲什麼?TaskFactory.StartNew vs ThreadPool.QueueUserWorkItem
請問TaskFactory.StartNew
有更好的表現嗎?它使用更少的內存嗎?還是主要用於Task
課程提供的附加功能?在後一種情況下,StartNew
是否可能有差表現比QueueUserWorkItem
?
在我看來,這StartNew
實際上會潛在地使用更內存比QueueUserWorkItem
,因爲它返回一個Task
對象與每一個電話,我可以預料,導致更多的內存分配。
無論如何,我很想知道哪個更適合高性能場景。
AFAIK默認TaskScheduler使用ThreadPool,並且當您需要多核支持時,它們之間沒有區別。這傢伙甚至做了一些測試:http://stackoverflow.com/a/5219311/152291 – prostynick 2013-07-19 10:11:11