一部のメソッドに時間がかかる場合、非同期として実装する必要がありますか?
または、別の同期を使用しますかThread
(たとえば、を使用BackgroundWorker
)?
一部のメソッドに時間がかかる場合、非同期として実装する必要がありますか?
または、別の同期を使用しますかThread
(たとえば、を使用BackgroundWorker
)?
非同期呼び出しは、バックグラウンドで処理する必要がある作業項目があり、それらがいつ終了するかを気にする場合に使用されます
バックグラウンドで実行され、UI と対話する必要がある単一のタスクがある場合は、BackgroundWorker を使用します。彼らがいつ仕事を終えるか気にしないなら、それを使ってください。UI スレッドへのデータとメソッド呼び出しをマーシャリングするタスクは、イベントベースのモデルを通じて自動的に処理されます。
(1) アセンブリがまだ System.Windows.Form アセンブリを参照していない場合、(2) スレッドをフォアグラウンド スレッドにする必要がある場合、または (3) スレッドの優先度を操作する必要がある場合は、BackgroundWorker を使用しないでください。