2013-08-31 19 views
13

タスク並列ライブラリとawaitとasyncの違いは何ですか? awaitとasyncを導入する必要性は何でしたか? TPLはC#4.0の一部であり、/ asyncはC#5.0の一部ですが、それとは別に基本的な違いがあります。この新しいキーワードを導入する必要性は何ですか?awaitとasyncの違いとタスクの並列ライブラリ

+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の一部です。 TPLに関連するC#4.0には何もありません。 – svick

答えて

24

タスクパラレルライブラリは、多くの作業が必要なときに、すべてのCPUコアを使用できるように複数のスレッド間でその作業を分割したいときに設計されました。 TPLは、CPUを大量に使用する作業に最適です。

非同期と待機時間はasynchronous programmingです。将来的に完了する操作(または多くの操作)があり、その間に他の操作をしたい場合は、asynchronous programmingです。非同期はI/O制限の作業に最適です。

重複があります。たとえば、並列計算を非同期操作として扱うことができるので、UIスレッドを束縛しません。また、TPLとasync/awaitの両方とも、Taskタイプを使用しますが、それらは非常に異なる方法で使用されます。

関連する問題