最近、私は興味深い現象を観察しており、それに基づいてソフトウェア アーキテクチャ全体を再設計する前に、なぜこのようなことが起こるのか、またスレッドのパフォーマンスをプロセスのパフォーマンスと同等にすることが可能かどうかを知りたいと考えています。
通常、タスクは特定のデータをダウンロードすることです。Parallel ライブラリに基づいて、6 つのスレッドで 1 つのプロセスを作成すると、ダウンロードに約 10 秒かかります。
ただし、それぞれがシングル スレッドである 6 つのプロセスを作成し、同じデータをダウンロードすると、全体で約 6 秒しかかかりません。
数値は徹底的に検証されており、統計的に有意であるため、当然のことと考えてください。
観察結果は大規模な (数百回の試行) データセットで保持されており、この動作からの逸脱は見られませんでした。
基本的に、問題は、同期していないマルチスレッド プロセスが、まったく同じ動作コードを持ついくつかの個別のプロセスよりも遅い理由と、それをどのように修正できるかということです。
前もって感謝します!
注: 同様の質問を読みましたが、回答は満足のいくものではなく、実用的ではありませんでした。