並列処理と UI スレッドのサンプル

.NET Framework 4 で非同期操作をサポートする System.Threading.Tasks 名前空間が追加されました。

コンソールアプリでの日本語の説明資料は、いくつか書かれていますが、UI をウィンドウで構築する場合に、ウィンドウ操作ができるのはウィンドウを作成したスレッド(UI スレッド)に限定されることから、この部分がどんな感じになるのか興味が湧いて試したものをブログに書いてみました。やり始めてみると、興味が広がってブログの記事が複数回にわたってしまって見通しが悪くなったので、ここにインデックス的なものを書いてみます。

 

並列処理と UI スレッド
総当りでの素数検索を題材にして、並列処理を行うサンプルです。
進捗報告を追加(並列処理とUIスレッドへの追加)
上記「並列処理と UI スレッド」に進捗報告を行うプログレスバーを表示させてみたサンプルです。
並列処理のキャンセル操作(その1)
キャンセル要求が行われたときに、単純に return することで中断する単純な構成のサンプルです。
並列処理のキャンセル操作(その2)
上記「進捗報告を追加(並列処理とUIスレッドへの追加)」にキャンセル機能を追加してみたサンプルです。