[#28446] named capture and /g, /G option — "K.Kosako" <sndgk393@...>

Ruby 1.9に、

30 messages 2006/03/21
[#28449] Re: named capture and /g, /G option — "K.Kosako" <sndgk393@...> 2006/03/21

> Ruby 1.9に、

[#28452] Re: named capture and /g, /G option — Yukihiro Matsumoto <matz@...> 2006/03/21

まつもと ゆきひろです

[#28453] Re: named capture and /g, /G option — "K.Kosako" <sndgk393@...> 2006/03/21

Yukihiro Matsumoto wrote:

[ruby-dev:28424] Monitor#synchronize and Thread#wakeup

From: "URABE Shyouhei aka.mput" <root@...>
Date: 2006-03-09 15:09:45 UTC
List: ruby-dev #28424
卜部です。

以下のスクリプトを実行すると、手元ではt2のループ
が一回しか回らないのですが、意図された挙動なんで
しょうか?
"loop { t1.wakeup }"の行をコメントアウトすれば、
ちゃんと毎秒t2が動いてることを観測できるのですが。

require "monitor"
extend MonitorMixin

def x(n)
	synchronize do
		x(n-1) unless n.zero?
	end
end

t1 = Thread.start do
	i = 0
	loop do
		x(i)
		i += 1
	end
end

t2 = Thread.start do
	loop do
		synchronize do
			sleep 1
			p Time.now
		end
	end
end

loop { t1.wakeup }
sleep


In This Thread

Prev Next