How write a synchronized class

Hello

How do to write a synchronized class like in java for Ruby

I try with a Mutex but if a method call another method of the same
instance I obtain a Deadlock.

Thanks
Guillaume

On Thu, May 7, 2009 at 6:38 AM, Guillaume dorchies
[email protected] wrote:

Hello

How do to write a synchronized class like in java for Ruby

I try with a Mutex but if a method call another method of the same
instance I obtain a Deadlock.

I wrote a reentrant mutex class at one point in time …

http://gist.github.com/108117

Give it a shot and see if it fixes your deadlock issue.

Blessings,
TwP

Thank you It’s exactly that I need

2009/5/7 Tim P. [email protected]:

I wrote a reentrant mutex class at one point in time …

http://gist.github.com/108117

Give it a shot and see if it fixes your deadlock issue.

Sorry, but you could have saved yourself the effort because it’s part
of the standard library:

17:45:59 $ ruby19 -r monitor -e ‘m=Monitor.new;m.synchronize {
m.synchronize { p 1 } }’
1
17:46:05 $ ruby19 -r thread -e ‘m=Mutex.new;m.synchronize {
m.synchronize { p 1 } }’
internal:prelude:6:in lock': deadlock; recursive locking (ThreadError) from <internal:prelude>:6:insynchronize’
from -e:1:in block in <main>' from <internal:prelude>:8:insynchronize’
from -e:1:in `’
17:46:17 $ ruby19 -r monitor -e ‘m=Monitor.new;m.synchronize {
m.synchronize { p 1 } }’
1
17:46:23 $

Kind regards

robert

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs