Thread::Queue(3p)Perl Programmers Reference GuidThread::Queue(3p)
Thread::Queue - thread-safe queues
use Thread::Queue; my $q = new Thread::Queue; $q->enqueue("foo", "bar"); my $foo = $q->dequeue; # The "bar" is still in the queue. my $foo = $q->dequeue_nb; # returns "bar", or undef if the queue was empty my $left = $q->pending; # returns the number of items still in the queue
A queue, as implemented by "Thread::Queue" is a thread-safe data structure much like a list. Any number of threads can safely add elements to the end of the list, or remove ele- ments from the head of the list. (Queues don't permit adding or removing elements from the middle of the list).
new The "new" function creates a new empty queue. enqueue LIST The "enqueue" method adds a list of scalars on to the end of the queue. The queue will grow as needed to accommodate the list. dequeue The "dequeue" method removes a scalar from the head of the queue and returns it. If the queue is currently empty, "dequeue" will block the thread until another thread "enqueue"s a scalar. dequeue_nb The "dequeue_nb" method, like the "dequeue" method, removes a scalar from the head of the queue and returns it. Unlike "dequeue", though, "dequeue_nb" won't block if the queue is empty, instead returning "undef". pending The "pending" method returns the number of items still in the queue.
threads, threads::shared perl v5.8.8 2005-02-05 1
Generated on 2013-10-31 22:57:03 by $MirOS: src/scripts/roff2htm,v 1.77 2013/01/01 20:49:09 tg Exp $
These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002‒2013 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.
This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.