2

マルチスレッド プログラムがあると仮定すると、各スレッドは DLL から関数を呼び出すことができ、その DLL 内の関数はマルチスレッド方式でデータを処理します。 DLL 内のこれらの関数をシングル スレッドにしますか?

4

1 に答える 1

2

多分そうでないかもしれません。それは多くのことに依存します。

まず、新しいスレッドの生成にはかなりのコストがかかるため、並行して実行される作業の量でこのコストを相殺する必要があります。

次に、これらのスレッドが実際に並行して実行され、同じコアにタイム スライスされないように、予備の CPU サイクルが必要です。

最後に、スレッドはそれらの予備の CPU サイクルを使用できる必要があり、たとえば、ほとんどの時間を相互に待機するのに費やさないようにする必要があります。

于 2012-12-02T08:03:48.760 に答える