を監視Iはhttp://www.ruby-doc.org/stdlib/libdoc/monitor/rdoc/index.htmlの例に続き、コードを少し修飾:私はプログラム実行をさせRubyはセグメンテーション違反
require 'monitor.rb'
buf = []
buf.extend(MonitorMixin)
empty_cond = buf.new_cond
producer = Thread.start do
# producer
line = "produce at #{Time.now}"
#while line
buf.synchronize do
puts "==> #{line}"
buf.push(line)
empty_cond.signal
end
sleep(2)
#line = "produce at #{Time.now}"
#end
end
loop do
buf.synchronize do
empty_cond.wait_while { buf.empty? }
item = buf.shift
puts "got #{item.inspect}"
end
end
を。約5分後、「セグメンテーション・フォルト」が発生します。デッドロックに関連する何か?
/ジャック