次々に呼び出す必要がある 2 つの非同期プロセスがあります (1 つは XML の作成backgroundworker
で、もう 1 つは最初のプロセスで作成された XML ファイルを使用する珍しい BW です)。これらのスレッドの主な理由は、UI のフリーズを停止し、進行状況バーを介してステータスの更新を提供することです。このような同期アプローチは望ましくない/不可能であるためです。
if (!CreateXMLBW.IsBusy)
{
CreateXMLBW.RunWorkerAsync("");
}
if (!CreateRarBW.IsBusy)
{
CreateRarBW.RunWorkerAsync();
}
プロセスを個別に使用できるため、最初の完了イベント内に 2 番目の BW を配置することはできません。そのため、XML ファイルを作成したいだけであれば、それを行うことができます。
AutoResetEvent
andを使用してみWaitOne
ましたが、これは (何らかの理由で) まだ機能しません。
メイン UI スレッドをフリーズせずに BW が完了するのを待つ方法は他にありますか?