私にはいくつかの長時間実行タスクがあり、それらはCPUとメモリを大量に消費します。それらを別のスレッドまたは別のプロセスで実行する必要がありますか?そして、各オプションの利点は何ですか?
1 に答える
2
それはあなたがやろうとしている操作に依存します。
何に加えて、なぜスレッドを使用する必要があるのか、プロセスを使用する必要があるのですか?言及しますが、スレッドはそれらが含まれるプロセスのメモリを共有することを付け加えたいと思います。一方、プロセスはメモリを共有しません。各プロセスには、スタック上に独自のメモリスペースがあります。
同じデータ(おそらくその一部の操作)で作業することを計画している場合は、スレッドを使用して作業することをお勧めします。各スレッドにデータのチャンクを処理させます。
操作がまったく関係がない場合は、プロセスを使用します。私はこれがちょっと漠然としていることを知っています。ただし、データを共有せず、操作をシリアル化しない場合は、プロセスを使用できます。
通常、1つのアプリケーション(プロセス)が複数のスレッドを生成します。複数のアプリケーションがある場合、各アプリケーションはプロセスであり、独自のアドレス空間を持っています。
于 2012-02-07T19:25:19.033 に答える