On Thu, May 04, 2006 at 10:40:19PM +0900, James Edward Gray II wrote:
> >You are right with regard to assignment semantics (i.e.
> >assignment is atomic in current Ruby runtime)
> 
> I'm fairly certain assignment is not an atomic action in Ruby.   
> There's a pretty good example of this on page 142 of the PickAxe (2nd  
> Edition).

Could you show that example?
If it's a variant of

  count = 0
  (1..100).map do
    Thread.new { 10000.times { count += 1 } }
  end.each{|x| x.join}
  count                                            # => 590000

it's not saying quite the same thing (>no atomic sugar heh).

Besides, how would a regular assignment (foo = 1) be non-atomic?... getting
half a VALUE written, with the subsequent crash? ;-)

-- 
Mauricio Fernandez  -   http://eigenclass.org   -  singular Ruby