Sha256: 85305b4cbaf15ec92875b7da0bbdf5d38812fdac7994839ca4b499cfd6eb36fe
Contents?: true
Size: 456 Bytes
Versions: 1
Compression:
Stored size: 456 Bytes
Contents
require 'thread' class Object def synchronize(&block) @mutex ||= Mutex.new @mutex.synchronize &block end end class ThreadSafeArray def initialize @mutex = Mutex.new @array = [] end def method_missing(method, *args, &block) @mutex.synchronize do @array.send method, *args, &block end end def inspect @mutex.synchronize { @array.inspect } end def to_s @mutex.synchronize { @array.to_s } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
adhearsion-2.0.0.beta1 | lib/adhearsion/foundation/thread_safety.rb |