非同期プログラミングはここ最近ですっかりメジャーになりましたね。まぁ最近のC#系統の非同期処理の書き方の楽になり方はやはりすんげえです。あの威力を思い知ってしまうと、どんどん書きたくなるものですよね。 さて、最近の非同期プログラミングの方向性として強いのはUIスレッドから重たい処理を取り払う、という系統のものですよね。 例えば、こんなの。 private void button_Click(object sender, EventArgs e) { var waitProgressForm = new WaitProgressForm(); waitProgressForm.Show(); //何か長い処理 Task.Factory.StartNew(() => Thread.Sleep(5000)).Wait(); waitProgressForm.Hide(); } これでUIスレッド