Task Parallel Libraryに含まれている非同期タスクは、非同期コードを書くのに素晴らしい方法で、このAPIを様々なシナリオでどのように使い、考慮すべきことは何であるかを示す、幾つかのリソースを見ていくことにする。
Brandon Bay 氏は、Enabling Progress And Cancellation in Async APIsという記事で、どうやってファイルを非同期でアップロードしながら、プログレスバーを動かし続けるを示した。またキャンセルトークンを使って、ユーザーが非同期タスクをキャンセルすることもできる。以前の記事でBay氏は、EAPやAPMを通して、非同期コードを書く以前の方法とasync と await キーワードを使った新しいやり方の差を示している。このFAQ on Async/Await でも、もっと詳細に立ち入り、もっと多くのリソースを紹介している。
新しいキーワードで非同期プログラミングがずっと簡単になったが、開発者は、その使い過ぎは慎むべきである。非同期呼び出しは、コストがかかる。多くの小さな非同期コールよりも少ない大きな非同期コールにしたほうが良い。
Asyncが使えるのはWindowsプログラミングに限定されない。 ASP.NETのサーバー側でも使うことができる。 ASP.NET MVC 4で導入された Task Support For Async Controllersによって、その中で更に非同期メソッドが使えるコントローラで、非ブロッキングコードを書くのがずっと簡単になった。タイムアウトを設定したり、タイムアウトが起きた時に例外を上げることができる。注意すべきは、C#5のみでこれがサポートされている、ことである。
注目に値するのは、async と await キーワードが非常に便利なので、node.jsフォークの少なくとも1つは既に、javascriptでのこれまでのコールバックの代替として、実験的にこれらを使っている。