Skip to content

Maintenance Ruby 3.3 gets fixes, but no new features. Switch to Ruby 4.0 →

instance method

Thread::Queue#shift

shift(non_block = false, timeout: nil)

Alias of #pop

Retrieves data from the queue.

If the queue is empty, the calling thread is suspended until data is pushed onto the queue. If non_block is true, the thread isn’t suspended, and ThreadError is raised.

If timeout seconds have passed and no data is available nil is returned. If timeout is 0 it returns immediately.

See also #pop #push #size also in 4.1 · 4.0 · 3.4 · 3.2 · 3.1