[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:650

From: Nobuyoshi Nakada <nobu.nokada softhome.net>
Date: Tue, 04 Oct 2005 09:54:26 +0900
Subject: [yarv-dev:650] Re: Ruby in Parallel

なかだです。

At Tue, 04 Oct 2005 08:50:08 +0900,
> ・値の更新はアトミックを保障するか?
> 
> i = 0
> [Thread.new{10000.times{i+=1}},
>  Thread.new{10000.times{i+=1}}].each{|t| t.join}
> p i
> 
> というプログラムは、20000 を (1) 表示しなければ *ならない* のか、(2) そ
> んなのスレッドを使うプログラマの責任でしょうか。常識的に考えて (2) だと
> 思うのですが、Ruby はそうじゃあかん、というのはありますか。

この例ではiはFixnumになりますが、ユーザ定義クラスの+メソッドな
どではその中で元のiが変更されないとは保障できないと思います。か
といってFixnumだった変数への代入だけ保障するというのもなんか。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       647 2005-10-04 08:50 [ko1 atdot.net       ] Ruby in Parallel                        
       649 2005-10-04 09:09 ┣[matz ruby-lang.org  ]                                       
->     650 2005-10-04 09:54 ┗[nobu.nokada softhome]                                       
       651 2005-10-04 20:47  ┗[ko1 atdot.net       ]