タグ

Threadに関するk2h6-432のブックマーク (2)

  • バックグラウンド処理を途中でキャンセルするには?[2.0のみ、C#、VB] - @IT

    バックグラウンド処理をキャンセル可能にするために、BackgroundWorkerコンポーネントのWorkerReportsProgressプロパティをtrueに設定しておく。 BackgroundWorkerコンポーネントのキャンセル処理 BackgroundWorkerコンポーネントにおけるキャンセル処理の流れは以下のようになる。 BackgroundWorkerコンポーネントのCancelAsyncメソッドを呼び出す。これにより、BackgroundWorkerコンポーネントのCancellationPendingプロパティがtrueに設定される。 重い処理を行っているDoWorkイベント・ハンドラでは、CancellationPendingプロパティがtrueに設定されていないか(=キャンセルが要求されていないか)を定期的にチェックし、trueになっていれば「e.Cancel」*1

  • 非同期プログラミング 宇宙仮面の C# プログラミング

    Windows.Forms.Control はスレッドセーフではないので、 Forms.Control の非同期プログラミングの機構を使うことにより 安全な非同期プログラミングをすることができる。 以下のクラスライブラリでも、同様な機構が提供されている。 HttpSimpleClientProtocol LogicalMethodInfo SoapHttpClientProtocol 1. のThread を使うケースは、どこにでもある方法だし、あちこちに解説があるので問題ないでしょう。 しかし、2、3の 非同期プログラミングは、ほとんど情報がないし、VisualStudio.NET のヘルプの解説が最悪で、読み解くのにす~~っごく苦労しました。たぶん、翻訳(監訳)した人も何のことだか理解してないのでしょう。 非同期プログラミングは避けては通れないので、とにかくわかった範囲でメモっておきま

  • 1