class EnClient::TaskQueue
Public Class Methods
new()
click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 297 def initialize @cond = ConditionVariable.new @mutex = Mutex.new @queue = [] end
Public Instance Methods
pop()
click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 317 def pop @mutex.synchronize{ while @queue.size == 0 @cond.wait(@mutex) end task = @queue.shift } end
push(task)
click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 303 def push(task) @mutex.synchronize{ @queue.push task @cond.signal } end
push_to_front(task)
click to toggle source
# File usr/lib/evernote-mode/enclient.rb, line 310 def push_to_front(task) @mutex.synchronize{ @queue.unshift task @cond.signal } end