Class: DatWorkerPool::LockedArray

Inherits:
LockedObject show all
Defined in:
lib/dat-worker-pool/locked_object.rb

Instance Attribute Summary

Attributes inherited from LockedObject

#mutex

Instance Method Summary collapse

Methods inherited from LockedObject

#set, #value, #with_lock

Constructor Details

#initialize(array = nil) ⇒ LockedArray

Returns a new instance of LockedArray.



28
29
30
# File 'lib/dat-worker-pool/locked_object.rb', line 28

def initialize(array = nil)
  super(array || [])
end

Instance Method Details

#delete(item) ⇒ Object



45
# File 'lib/dat-worker-pool/locked_object.rb', line 45

def delete(item); @mutex.synchronize{ @object.delete(item) }; end

#empty?Boolean

Returns:

  • (Boolean)


37
# File 'lib/dat-worker-pool/locked_object.rb', line 37

def empty?; @mutex.synchronize{ @object.empty? }; end

#firstObject



34
# File 'lib/dat-worker-pool/locked_object.rb', line 34

def first;  @mutex.synchronize{ @object.first };  end

#lastObject



35
# File 'lib/dat-worker-pool/locked_object.rb', line 35

def last;   @mutex.synchronize{ @object.last };   end

#popObject



40
# File 'lib/dat-worker-pool/locked_object.rb', line 40

def pop;            @mutex.synchronize{ @object.pop };            end

#push(new_item) ⇒ Object



39
# File 'lib/dat-worker-pool/locked_object.rb', line 39

def push(new_item); @mutex.synchronize{ @object.push(new_item) }; end

#shiftObject



42
# File 'lib/dat-worker-pool/locked_object.rb', line 42

def shift;             @mutex.synchronize{ @object.shift };             end

#sizeObject



36
# File 'lib/dat-worker-pool/locked_object.rb', line 36

def size;   @mutex.synchronize{ @object.size };   end

#unshift(new_item) ⇒ Object



43
# File 'lib/dat-worker-pool/locked_object.rb', line 43

def unshift(new_item); @mutex.synchronize{ @object.unshift(new_item) }; end