0

ここに私のシナリオがあります:-

DoWork と RunWorkerCompleted の 2 つのイベントにサブスクライブされている BackGroundWorker スレッドがあります。私がやっていることは、DoWork イベントで時間のかかるタスクを実行し、MainThread を使用してローダーを開始している UI を更新しています。ローダー。

ここで、BackgroundWorker が ON のときにアプリケーションが終了したときに、ローダーが回転していることを確認したいのです。がオンになっています。

Dispose はヘルプを提供しますか..? またはDynamicGarbageCollectionは、アプリケーションの終了が発生したときにunusedObjectsを処理し、Disposeが行うのと同じことを行います.??

私が明確であることを願っています..どうすればそれを達成できますか.??

4

2 に答える 2

1

アプリが終了すると bgw スレッド自体は停止しますが、Closed/Closing Form のコントロールを更新しないように注意する必要があります。

ここで Dispose() を呼び出さないでください。バックグラウンドワーカーをキャンセルできますが、DoWork() のコードは準拠する必要があります。

于 2013-07-26T09:16:46.087 に答える
0

定義上、バックグラウンド スレッドはホスト プロセスを実行し続けることができません (UI コンポーネントをレンダリングするスレッドなどのフォアグラウンド スレッドとは異なります)。

MSDN のドキュメントを参照してください: http://msdn.microsoft.com/en-us/library/h339syd0.aspx

于 2013-07-26T09:58:25.537 に答える