• 締切済み

ディアルコアPCにおけるCPU固定について

スレッドを作成せずに、プログラム中で SetThreadAffinityMask(GetCurrentThread(),1); としてある処理1を行い、その後処理2の前に SetThreadAffinityMask(GetCurrentThread(),2); とした場合は、 処理1は1のプロセッサで行われ、 処理2以降の処理は2のプロセッサで行われるのでしょうか? 例えば SetThreadAffinityMask(GetCurrentThread(),1); ts1 = RDTSC(); //処理1 SetThreadAffinityMask(GetCurrentThread(),2); if (sendto(sock, psp, sizeof(s_packet), 0, (struct sockaddr *) &ClientAddr, sizeof(ClientAddr)) != sizeof(s_packet)) error_msg("sendto() sent a different number of bytes than expected");//処理2

みんなの回答

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.1

マルチコアに全く知らないのですが、 処理1・処理2をビジーループなどのダミーコードで 実装し、上記コード実行中にタスクマネージャ等で確認すれば、 どちらのコアが使われているのか、確認できるのではないでしょうか?

tsutti0126
質問者

補足

回答ありがとうございます。 しかしタスクマネージャーでどちらのコアを 使用しているかは判別可能ですが どの部分で使われているかは判別不可能です。

関連するQ&A

専門家に質問してみよう