0

マルチスレッド プログラムが、ハイパースレッディングを使用するシングル コア CPU で安全に実行される場合、ハイパースレッディングを使用するデュアル コア CPU でも安全に実行されますか? スレッドセーフなどについて

編集

わかりました、私はより具体的にしようとします。つまり、(同時実行性) 問題にならないことを忘れたか、確認できなかった悪いソース コード行です。

したがって、1 コアの htt は、デッドロック、クラッシュ、CPU スパイク、または私のコードが 2 コア マシンで引き起こすあらゆるものを防ぐことによって「嘘」をつくのかもしれません。htt PC の 2 つの (論理) プロセッサが、デュアルコア PC の 2 つのプロセッサと正確にどのように異なるのか、htt がどのように透過的であるかはわかりません。何か問題があれば、そのためだけに 2 台目の PC を購入するかもしれないので、質問しました。

4

1 に答える 1

1

質問はより正確にする必要があります。「スレッドセーフなど」をスローするだけです。質問の最後に、スレッドの使用が何を意味するかを知っているとは思いません。マルチスレッド アプリケーションはどの言語で書かれているか、どの OS のバージョンを使用しているか、どのチップセットを検討していますか?

とにかく、答えは - ハイパースレッディングは OS に「嘘をつき」、実際よりも多くの物理コアがマシンにあると確信させます。OS の観点からは、シングルコアのハイパースレッド構成とデュアルコアの非ハイパースレッド構成の間に違いはありません。拡張により、デュアルコアのハイパースレッド構成は、使用可能な見かけの物理コアの数を 2 倍にするだけです。

ハイパースレッディングがどのように実装され、メモリ共有と同期がどのように実装されるかについてより深い知識を得るには、使用しているチップセットに関する仕様書を読む必要があると思います。

于 2010-12-04T10:37:36.937 に答える