MirOS Manual: Thread::Queue(3p)

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.

             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

     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 2017-04-03 16:26:17 by $MirOS: src/scripts/roff2htm,v 1.88 2017/01/29 00:51:06 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–2017 The MirOS Project, Germany.
This product includes material provided by mirabilos.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.