По-видимому, метод TaskFactory.StartNew
в .NET 4.0 предназначен для замены ThreadPool.QueueUserWorkItem
(в соответствии с этим сообщением, в любом случае). Мой вопрос прост: кто-нибудь знает, почему?
Имеет ли TaskFactory.StartNew
лучшую производительность? Использует ли он меньше памяти? Или это в основном для дополнительных функций, предоставляемых классом Task
? В последнем случае StartNew
может иметь худшую производительность, чем QueueUserWorkItem
?
Мне кажется, что StartNew
фактически потенциально будет использовать больше памяти, чем QueueUserWorkItem
, так как он возвращает объект Task
с каждым вызовом, и я ожидаю, что это приведет к большему распределению памяти.
В любом случае мне интересно узнать, что более подходит для высокопроизводительного сценария.