6

スレッドが使用する物理プロセッサ(コア)を特定のスレッドで識別できるかどうか知りたいのですがthread-id

thread-id = 10たとえば、2つのスレッド(たとえば、と)を持つマルチスレッドアプリケーションがありthread-id = 20ます。デュアルコアプロセッサ(コア1とコア2)を搭載したシステムでアプリケーションを実行します。では、スレッドで使用されるコア番号を取得するにはどうすればよいthread-id = 20ですか?

PSWindowsプラットフォーム。

ありがとうございました、

デニス。

4

2 に答える 2

7

スレッドアフィニティを使用しない限り、スレッドは特定のコアに割り当てられません。タイムスライスごとに、スレッドはさまざまなコアで実行できます。つまり、スレッドのコアを取得する関数がある場合、戻り値を取得するまでに、スレッドが別のコアですでに実行されている可能性が高くなります。

スレッドアフィニティを使用している場合は、Windowsのスレッドアフィニティ関数(http://msdn.microsoft.com/en-us/library/ms684847%28v=VS.85%29.aspx)を確認できます。

于 2010-07-29T21:23:03.100 に答える