17

Task Parallel Library と await および async の違いは何ですか。await と async を導入する必要性は何でしたか? TPL は C# 4.0 の一部であり、await/async は C# 5.0 の一部ですが、それ以外の基本的な違いは何ですか。この新しいキーワードを導入する必要性は何でしたか?

4

1 に答える 1

30

Task Parallel Library は、並列プログラミング用に設計されています。実行する作業が多く、その作業を複数のスレッドに分割して、すべての CPU コアを使用できるようにしたい場合です。TPL は、CPU を集中的に使用する作業に最適です。

async と await は非同期プログラミング用です - 将来完了する操作 (または多くの操作) があり、その間に他のことをしたい場合。非同期は、I/O バウンドの作業に最適です。

一部重複があります。たとえば、並列計算を非同期操作として扱うことができるため、UI スレッドが拘束されることはありません。また、TPL と async/await はどちらもこのTask型を使用しますが、その使用方法は大きく異なります。

于 2013-08-31T17:03:01.317 に答える