重複の可能性:
BackgroundWorker とスレッドの違い?
インタビューでこんな質問をされました。これに対する答えは何ですか?
「バックグラウンド」という言葉は、バックグラウンド以外のスレッドよりも重要度の低いタスクを実行することを意味し、それらが完了したときにそれほど重要ではありません。Javaでは、これはデーモンスレッドを使用することを意味します。
技術的にはそれらは同じものであり、異なるものは主観的です。
バックグラウンドワーカー スレッドは、バックグラウンドで長い操作を実行し、スレッドから UI を操作する必要がある場合に最もよく使用されます。Backgroundworker には、UI とのやり取りをより簡単にするいくつかの機能があります。
BackgroundWorkerは、別のスレッドプールスレッドでメソッドを実行できるようにするSystem.ComponentModelクラスです。ジョーアルバハリはそれに良い記事を持っています。
ワーカースレッドは、メインスレッドから生成されたスレッドの総称であり、通常はUIと並行して機能します。
「ワーカー」スレッドも「バックグラウンド」スレッドも、メイン/UI スレッドではありません。
詳細がない限り (たとえば、言語 X またはフレームワーク Y のコンテキストで)、それらの間に明確な違いはありません。しかし、私がそれらを考えると: