C#で開発され、ほかのいくつもの言語でも導入されてきている画期的な非同期処理機能のasync/await。マルチコアのCPUが当たり前になり、非同期処理は常に使う必要が出てきました。async/awaitは非同期処理の中でも最も簡単な場合の処理しかこなせないものですが、マルチコアだから常に使わなくてはいけないといわれる非同期処理を整理すると、実際に使われる非同期処理の90%以上はasync/awaitで対応できる範囲に含まれます。実質的にマルチコアに伴う非同期処理のプログラムコストをほぼ0に近づけたC#のasync/awaitについて解説します。