Type:
Class

This class provides a way to synchronize communication between threads.

Example:

require 'thread'

queue = Queue.new

producer = Thread.new do
  5.times do |i|
    sleep rand(i) # simulate expense
    queue << i
    puts "#{i} produced"
  end
end

consumer = Thread.new do
  5.times do |i|
    value = queue.pop
    sleep rand(i/2) # simulate expense
    puts "consumed #{value}"
  end
end

consumer.join
<<
  • References/Ruby on Rails/Ruby/Classes/Queue

<<(obj) Instance Public methods Alias of push

2025-01-10 15:47:30
push
  • References/Ruby on Rails/Ruby/Classes/Queue

push(obj) Instance Public methods Pushes obj to the queue.

2025-01-10 15:47:30