none
BackGroundWorkerの使い方 RRS feed

  • 質問

  • BackGroundWorkerを使用してスレッドを複数作りました。ボタンを使ってそれぞれのスレッドを動作させるようにしたところ、別々動作しました。しかし、同スレッドを連続して動作させると、”BackgroundWorker は現在ビジー状態であるため、複数のタスクを同時に実行できません。”というエラーがでてしまいます。 処理中はそのスレッドにロックをかけるような良い方法ありませんでしょうか? プログラミング経験が浅いので、簡単な質問なのかも知れませんが、宜しくお願い致します。

    2006年8月23日 9:42

すべての返信

  • こんにちは。
    BackgroundWorker による別スレッドでの処理中には、BackgroundWorker コントロールの IsBusy が true になるので、このプロパティをチェックして以下のいずれかの対処をすればいいと思います。

    • true の時は処理しない。
    •  true であれば別の BackgroundWorker を使用する。
    •  false になるまで待つ。

    2006年8月24日 4:09
  • BackgroundWorker コントロールのIsBusyですか?

    良く知れべずに投稿してしまい申し訳御座いませんでした。

    トライしてみます。有難う御座いました。 

    2006年8月25日 7:12