
以下の様なプログラムをマルチスレッドでなくマルチプロセスで実現したいです。
#!/usr/bin/ruby
require 'thread'
q=Queue.new
data=%w(a * * * b * * c * * d * *)
data.each do |d|
q.push d
end
(1..4).each do |n|
Thread.start {
while 1 do
d=q.shift
break if d!='*'
end
puts n.to_s+' '+d.to_s
}.join
end
rubyのバーションは
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin10.0]
です。バージョンをあげる事は、できれば避けたいです。
実際には上記プログラムの【puts n.to_s+' '+d.to_s】してる所は、ネットに繋いで云々の時間のかかる処理なのですが、まったくパラレルに行なっている様子が無いので、マルチプロセス化したら早くなるかなと思いました。
子プロセスを生成して親プロセスとはパイプで繋いで、、などとするのかなあと試行錯誤したのですが、どうもうまくできません。
ご指導の程、よろしくお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
教えてください
-
ビーリアルのユーザー名を変え...
-
(再質問)エクセルのマクロボ...
-
Ruby require ライブラリー
-
プログラミングについてです。...
-
pythonエラー
-
VBScriptでExcel(2019)上のデー...
-
<python>ノイズを時間指定して...
-
エクセルvbaでチェックボックス...
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SHARP PC-CH40S Windows Vista ...
-
九九の表示
-
小文字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
-
Ruby interpreter (CUI) 2.2.3 ...
おすすめ情報