掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
BackgroundWorkerの並列処理 (ID:148236)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ProgressChangedイベントは UIスレッドで発生しますが、BackGroundWorkerのスレッドと 同期して動いているわけではありません。 BackGroundWorkerのスレッドでProgressChangedのイベント 処理が終了せずともその後の処理は継続されます。 今回の場合ProgressChangedが同じUIスレッドで発生してしまっているので 後から発生した方が処理待ちになっているだけです。 スレッド内でSleepを使うと別のスレッドへ処理が移りますが、自分の スレッドの処理は止まってしまいますので後から発生したProgressChangedに 処理が移るわけではありません。ProgressChanged内で重たい処理があるのなら別スレッドを立てそれに任せた方がよいです。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.