From: James Edward Gray II Date: 2006-05-04T22:40:19+09:00 Subject: Re: concurrency question On May 4, 2006, at 7:34 AM, Robert Klemme wrote: > 2006/5/3, Eric Hodel : >> On May 3, 2006, at 12:58 PM, Trish Ball wrote: >> >> > I am new to concurrency issues, and am working with DRb (also >> new to >> > this). My DRb class assigns a value to an instance variable >> that will >> > be accessed by my client. Is there a possibility with a >> concurrency >> > issue if the client tries the access that variable when it is being >> > assigned. >> >> No. >> >> > @list = LabelList.new(@label_list) >> > >> > Will I need a mutex around this? >> >> It will see either the old value or the new value. Nothing will >> break otherwise. > > IMHO this cannot be answered correctly with the information we have so > far. The example had one client reading the value and one server setting it. Under those circumstances, I think Eric's answer is right on. > 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). James Edward Gray II