
Rubyで書かれたプログラムに、WinAPIを組み込みたいと思っています。
組み込む内容は、
「とある実行ファイル」に、割り当てられているCPUの数を1つにする事で、
APIに関しては、
--------------------------------------------------------
DWORD SetThreadIdealProcessor(
HANDLE hThread, // スレッドのハンドル
DWORD dwIdealProcessor // 理想的なプロセッサ番号
);
--------------------------------------------------------
これを組み込めば良いという事がわかりました。
しかし、分からない点が2箇所ありまして、
・「スレッドのハンドル」
・Rubyプログラムへの組み込み方
です。
どなたか、お分かりの方がいらっしゃいましたら、
ご教示お願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ruby-mswin32だと、rubyのソースにGetCurrentThreadId()ってのがあるみたいなので、それを使って、rubyの初期化コードにSetThreadIdealProcessor()を直書きしちゃえば良いのでは。
ただ、Ruby自体(1.9まで)は基本シングルスレッドで動作しているのだから、わざわざCPUを絞る必要はないだろうし、マルチスレッドが有害ならむしろRuby側スクリプトを書き換えるほうが良いように思えます。
あるいは、コマンドStartのオプション/affinityを指定してrubyを起動するとか。
この回答への補足
ありがとうございます!
情けない話なのですが、色々と試したのですが、
rubyのソースの見方が分かりませんでした・・・。
初期化コードというのは、
initializeメソッドを使って、
プログラムの機能を初期化するあれの事で良いのでしょうか。
初心者質問で申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
パソコンのスクリーンセーバー...
-
pandasでsqlite3にテーブル作成...
-
英数字を含む文字列(0-9,A-Z)...
-
(再質問)エクセルのマクロボ...
-
100万件越えCSVから条件を満た...
-
C言語の入力した文字を反転させ...
-
WIN11にオフイスを複数入れるこ...
-
Accessで文字列のバイト数読み込み
-
回復ドライブとインストールメ...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ルビー言語 ライブラリー
-
Ruby 変数 用途と違い
-
WinSCPで画像のように puttyを...
-
教えてください
-
プログラミングについてです。...
-
pythonエラー
-
WSLのUbuntuで、Railsのインス...
-
ruby while式
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ruby日本語表示
-
rubyのwindows用rdoc
-
Yahoo知恵袋や教えてgooのよう...
-
小文字wと大文字Wの区別
-
ruby on railsインストールでエ...
-
プログラミング言語で大文字と...
-
COBOLのIFの入れ子について
-
VB.NETで階乗を求めるプログラ...
-
web上のhtmlファイルから文字デ...
-
画像をページ右側に並べる方法...
-
Xcodeでランダム整数
-
RubyでNo such file or directo...
-
Pro*CとCの間|変数の有効範囲
-
プログラミング講師はまだ需要...
-
rubyプログラムからrubyプログ...
-
ruby の File.exist? メソッド...
-
たびたびすいません。VBAです。
-
Ruby / passenger のインストー...
-
GoTo文について
-
Ruby
おすすめ情報