動作環境
Windows 8.1 Pro (64bit)
Microsoft Visual Studio 2017 Community
Sublime Text 2
関連: Visual Studio | WPF > 非同期処理 > Link: ざっくりマルチスレッド(非同期処理)
ざっくりマルチスレッド(非同期処理) @ GOMOKULOG
に記載されている4つの方法がある。
パーフェクトC# 第3版(2013年)においては、別途、ParallelクラスとBackgroundWorkerクラスの記載があった。
何をどの用途に使うかは別途検討するとして、6種類の登場順序と.NET Frameworkのバージョン(と日付)の整理をする。
- Thread + delegate
- .NET Framework 1.1 (2003年4月) and later: link
- ThreadPool
- .NET Framework 1.1 (2003年4月) and later: link
- BackgroundWorker
- .NET Framework 2.0 (2005年11月) and later: link
- Task
- .NET Framework 4.0 (2010年4月) and later: link
- Parallel
- .NET Framework 4.0 (2010年4月) and later: link
- async and await
- .NET Framework 4.5 (2012年8月) and later: link
注記:用途によっては上記の6つをひとくくりにするのはおかしいかもしれない
最新のものが常に良いかというのは、必ずしもあてはまらないだろう。
新しいものと古いもの(それぞれの有用性) by @sjuny さん