VS 2015 もリリースされて、C# 6.0 が使えるようになった今頃になって、C# 5.0 の新機能の話というのも時機を逸してますが、まぁいいじゃない。 というわけで、今のところ最も新しい非同期処理のお話です。 昔の非同期処理 実のところ、やってることは昔から大して変わらないのです。 Begin/End パターン Asynchronous Programming Model(APM)とも言うようです。.NET における最古の非同期プログラミング手法です。 BeginXxx というメソッドを呼び出すと、裏でスレッドが立ち上げられて処理が行われます。 非同期処理が終わるとコールバック関数が呼ばれるので、コールバック内で EndXxx メソッドを呼んで結果を受け取ります。 Stream.BeginRead を例にすると、こんな感じ。 stream.BeginRead(buffer, 0, b