2013-08-31 3 views
13

В чем разница между параллельной библиотекой задач и ожиданием и асинхронизмом. Какова была необходимость в ожидании и асинхронном режиме? Я вижу, что TPL является частью C# 4.0 и ждет/async является частью C# 5.0, но кроме того, что является основным отличием. Какая необходимость вводить это новое ключевое слово?Разница между ожиданиями и асинхронной и параллельной библиотекой задач

+0

Ключ о создании. – Diryboy

+0

http://blogs.msdn.com/b/ericlippert/archive/2010/10/28/asynchrony-in-c-5-part-one.aspx – I4V

+1

TPL был выпущен одновременно с C# 4.0, но это не часть его, это часть .Net 4.0. В C# 4.0 нет ничего, связанного с TPL. – svick

ответ

24

Параллельная библиотека задач была разработана для parallel programming - когда у вас есть много работы и вы хотите разделить эту работу между несколькими потоками, чтобы вы могли использовать все ядра ЦП. TPL лучше всего подходит для работы с ЦП.

Async и ждут для asynchronous programming - когда у вас есть операция (или много операций), которая будет завершена в будущем, и вы хотите делать другие вещи тем временем. Async лучше всего подходит для работы с привязкой к I/O.

Существует некоторое перекрытие. Например, вы можете рассматривать параллельное вычисление как асинхронную операцию, так что она не связывает ваш поток пользовательского интерфейса. Кроме того, как TPL, так и async/await используют тип Task, хотя они используют его по-разному.

Смежные вопросы