[#49193] [ANN] Ruby 2.0.0-p0 released — Yusuke Endoh <mame@...>

こんにちは。Ruby 2.0.0-p0 をリリースします。

14 messages 2013/02/24
[#49196] [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released — arton <artonx@...> 2013/02/24

artonです。

[#49216] Windows用 インストーラ無しパッケージの需要について (Re: [ANN]Ruby-2.0.0-p0 mswin32版 MSI was Re: [ANN] Ruby 2.0.0-p0 released) — Takeshi Iogawa <alpha@246.ne.jp> 2013/02/27

いおがわと申します。 Ruby2.0の正式リリースおめでとうございます。

[ruby-list:49232] シングルコアでのthread動作

From: OOTANI TAKASHI <tksotn@...707.to>
Date: 2013-02-28 14:05:30 UTC
List: ruby-list #49232
大谷です。

Ruby2.0p0ですが、make test が終わらない!

ここの部分で引っかかっているようです。
assert_equal 'true', %{
  t = Thread.new { loop {} }
  begin
    pid = fork {
      exit t.status != "run"
    }
    Process.wait pid
    $?.success?
  rescue NotImplementedError
    true
  end
}

少し変えて、
  t = Thread.new { loop {sleep 1} }
にすると終わります。これで、気づいたのですが、
使っているのはVMwareの仮想マシン上のCentOS6.3なのですが、
CPUが1コアの設定でした。
おそらく loop {} がCPUを使うのでメインスレッドが(ほとんど)動かないのだと思います。
・仮想マシンの設定を変えて2コアにすると終わる
・1コアでも一晩放置すると終わる(約6時間かかってました)

なぜ1.9.3と挙動が違うのでしょうか?ネイティブスレッドへの変更は1.9からですよね?
2.0と1.9.3でそれぞれ何度かずつ試してみたので、たまたまでは無いと思うのですが。

-- 
OOTANI TAKASHI <tksotn@mail.707.to>


In This Thread

Prev Next