Недавно я столкнулся с this исчерпывающим объяснением новой библиотеки .NET TPL, и это звучало довольно впечатляюще. Прочитав статью, кажется, что новый диспетчер задач настолько умен, что он даже может сказать, будут ли ваши параллельные задачи быстрее, если они будут выполняться последовательно в одном потоке, а не быть разделены на рабочие потоки. Это часто может быть трудным решением.Темы и новая библиотека задач в C#
Написав много кода, используя то, что потоки были доступны ранее, теперь кажется, что все должно быть написано с задачами, которые передали бы большую часть работы диспетчер задач.
Я правильно понял, что все, что я делал ранее с потоками, теперь должно выполняться с заданиями? Конечно, всегда будут случаи, когда вам нужен тонкий контроль, но нужно ли вообще бросать обычную фоновую работу на задачу, а не на новый поток? Т.е. имеет значение по умолчанию: «Мне нужно, чтобы это выполнялось в фоновом режиме => новый поток» вместо этого стал «новой задачей»?
Чтобы уточнить, IIRC, в .net 4, они обрабатываются новой * реализацией ThreadPool от команды TPL. –
@ Лукас: Спасибо, что указали, что это не тот старый пул. –
И вы можете переопределить, вы можете сказать, что задача длинная, и она будет раскручивать новый поток только для этой задачи. Другими словами, вы получаете все преимущества нового TPL * и * старого класса потоков. –