class AwesomeExplain::Queue::SimpleQueue
Public Class Methods
new()
click to toggle source
# File lib/awesome_explain/queue/simple_queue.rb, line 42 def initialize @queue = Queue.new # Thread.new do # puts 'while true ===============================' # command = @queue.pop(false) # # command.run if command # end # @read_io, @write_io = IO.pipe end
Public Instance Methods
<<(o)
click to toggle source
# File lib/awesome_explain/queue/simple_queue.rb, line 52 def <<(o) # pop(false) until @queue.size < 2 if @queue.size >= 2 items = [] while @queue.size >= 2 items << @queue.pop end Thread.new { sleep 2; puts "Poped #{items}"; puts items.inspect } end puts "Adding to queue @@@@@@@@@@@@@" @queue << o # @write_io << '.' self end
pop(nonblock=false)
click to toggle source
# File lib/awesome_explain/queue/simple_queue.rb, line 67 def pop(nonblock=false) # return unless @queue.size >= 5 # @queue.size.times.each do # end puts Thread.current.inspect o = @queue.pop(nonblock) # @read_io.read(1) puts "<------ Element poped ------>" puts o o end
size()
click to toggle source
# File lib/awesome_explain/queue/simple_queue.rb, line 80 def size @queue.size end
to_io()
click to toggle source
# File lib/awesome_explain/queue/simple_queue.rb, line 84 def to_io @read_io end