Sha256: a3f11454639b35f5bcb73bb49d6e937bcbf111e337483109bcde327fd8c36490
Contents?: true
Size: 642 Bytes
Versions: 1
Compression:
Stored size: 642 Bytes
Contents
require 'thread' module Netz # a thread safe array class class SafeArray def initialize(items=[]) @items = items @mutex = Mutex.new end def push(item) @mutex.synchronize { @items.push item } self end alias :<< :push def delete(item) @mutex.synchronize { @items.delete item } end def each(&block) @mutex.synchronize { @items.each(&block) } self end def empty? @mutex.synchronize { @items.empty? } end def size @mutex.synchronize { @items.size } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
netz-0.0.1 | lib/netz/safe_array.rb |