マルチコアを有効に利用するプログラムを作りたいと考えています。
マルチコア、マルチスレッドが、よく理解できていないところもありますが、ご容赦お願いいたします。
OSはWindows XP、開発環境はVisual C++ 6.0です。
1.マルチスレッド対応すれば、マルチコアを有効利用できるのでしょうか?(複数のコアの使用率を均等に上手く割り振ってくれるのでしょうか)
2.Windows APIにSetThreadAffinityMask()、SetThreadIdealProcessor()なるAPIがあるのですが、これらを使用しないと、割り振れないものなのでしょうか?
3.少し調べたのですが、OpenMP、MPIなる技術があるようなのですが、このような特殊な処理を加えないとダメなのでしょうか。
個人的には、マルチスレッド対応さえすれば、あとはOS(Windows)が上手くやってくれれば、、、と思っているのですが。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
スレッドハンドルをSetThreadIdealProcessor APIに渡してください。
スチームなどではシングルコア時代のゲームがWindows Vista/7/8対応で再販されてますが、近代のマルチコア対応ゲームと比較すると全コアを活かしきれていないです。
No.1
- 回答日時:
1)
各スレッドの処理量が均等になるように割り振れれば、後はOSに任せてもそれなりにうまくやってくれます。
2)
別に使わなくてもOSが適当に割り振りますが、スレッドごとに処理量が大きく異なる等で割り振りかたを制御したいときに使います。
3)
MPIはスレッドレベルというよりプロセスレベルで並列化させるときに使う技術です。スレッドレベルでの並列化の場合は必要ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- Wi-Fi・無線LAN Windows10でWi-Fi6Eが使えない!?そもそもWi-Fi6Eってなんでしたっけ?教えて! 1 2023/01/27 20:48
- その他(開発・運用・管理) Windows serverでマルチキャスト通信の確認をしたいです。MicrosoftよりMPING 1 2023/03/31 01:05
- その他(OS) Ubuntuに仮想環境いれて古いwindows動かしたいんですが、OSイメージ無料で手に入りますか? 2 2023/03/09 23:49
- その他(ゲーム) Windowsアスカ見参プレイするのに下の通りのが必要みたいですがメモリー、ビデオメモリーHDD別々 3 2022/09/19 23:24
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- セキュリティソフト 結局のところWindows PCに有料のセキュリティ対策ソフトは必要だと思いますか? 8 2022/06/01 11:00
- ノートパソコン ハードディスクが壊れたPCのオークションへの出品の仕方を教えてください 9 2022/11/16 08:13
- Windows 10 Windows 11は必要ですか? 14 2022/10/25 02:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.NetのBackgroundWorkerクラス...
-
スレッドにて同一メモリの書き...
-
スレッドの監視方法について
-
WaitForSingleObjectの使い方に...
-
スレッドの終了はどうやるんで...
-
VC++スレッドの正しい終了のさ...
-
メモリアクセスの競合について
-
pthread_mutex_lock の応答時間
-
WindowAPI スレッドのステータ...
-
クリティカルセクションの使用...
-
Win32APIでのスレッド処理
-
マルチスレッドについて
-
スレッドでWM_TIMERを受け取れない
-
C++でマルチスレッド処理をさせ...
-
頭冷やし終えました。スクリー...
-
MFC モーダルダイアログに動的...
-
VB2005 シリアル通信のClose処理
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
バックグラウンドのプロセスの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
スレッドにて同一メモリの書き...
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
Windows上で、シグナル(SIGTERM...
-
スレッドの終了の仕方
-
スレッドの安全な終了のさせ方
-
CWnd::OnTimerのスレッドの取得
-
MFC通信プログラムマルチスレッ...
-
Linuxでスレッド優先度って変え...
-
.netアプリへのSendMessageでフ...
-
VB2005 シリアル通信のClose処理
-
スレッドの終了はどうやるんで...
-
別スレッドからメインダイアロ...
-
マルチスレッドについて
-
マルチスレッドプログラミング...
-
別スレッドのデータを受信できない
-
特定のスレッドの破棄
-
.NetのBackgroundWorkerクラス...
-
msec単位のWait Timerが作れない!
おすすめ情報