一連のデジタル IO アクションを繰り返し実行する Windows アプリケーションを作成しています。
この一連のアクションは、ユーザーが「START」ボタンをクリックすると開始され、backgroundWorker1_DoWork() のバックグラウンド ワーカーによって実行されます。
ただし、「このバックグラウンド ワーカーは現在ビジー状態です.......」というエラー メッセージが表示される場合があります。
別の一連のアクションを開始する前に、while ループを使用してバックグラウンド ワーカーを「強制終了」することにより、コードに以下を実装することを考えています。
if (backgroundWorker1.IsBusy == true)
{
backgroundWorker1.CancelAsync();
while (backgroundWorker1.IsBusy == true)
{
backgroundWorker1.CancelAsync();
}
backgroundWorker1.Dispose();
}
backgroundWorker1.RunWorkerAsync();
私の主な関心事は、最終的に backgroundWorker1 が「殺される」ことでしょうか? もしそうなら、それを完了するのに長い時間がかかりますか?
このコーディングは無限ループに陥りますか?