Thread::Queue

Provides a thread-safe queue. Any number of threads can add elements to the end of the queue or remove elements from the head.

new

$q = new Thread::Queue 

Creates a new empty queue. Returns an object representing the queue.

dequeue

$q->dequeue 

Removes and returns a scalar from the head of the queue. If the queue is empty, dequeue blocks the thread until another thread enqueue s a scalar on the queue.

dequeue_nb

$q->dequeue_nb 

Like dequeue, but returns undef if the queue is empty instead of blocking.

enqueue

$q->enqueue list 

Adds the list of scalars, list, to the end of the queue.

pending

$q->pending 

Returns the number of items remaining in the queue.