LockableObjectImplementation
Safe synchronization under any Ruby implementation. It provides methods like {#synchronize}, {#wait}, {#signal} and {#broadcast}. Provides a single layer which can improve its implementation over time without changes needed to the classes using it. Use {Synchronization::Object} not this abstract class. @note this object does not support usage together with [`Thread#wakeup`](http://ruby-doc.org/core-2.2.0/Thread.html#method-i-wakeup) and [`Thread#raise`](http://ruby-doc.org/core-2.2.0/Thread.html#method-i-raise). `Thread#sleep` and `Thread#wakeup` will work as expected but mixing `Synchronization::Object#wait` and `Thread#wakeup` will not work on all platforms. @see {Event} implementation as an example of this class use @example simple class AnClass < Synchronization::Object def initialize super synchronize { @value = 'asd' } end def value synchronize { @value } end end
@!visibility private
Generated with the Darkfish Rdoc Generator 2.