| Allegro CL version 8.2 Significant update since 8.2 release. 8.1 version |
Arguments: queue &key wait empty-queue-result whostate
In an April, 2011 update, there is a new empty-queue-result argument and the wait argument has new possible values.
Removes the object at the head of the queued sequence queue, that is, the one that has been queued the longest, and returns that object.
If queue is empty, then the result depends on the values of the wait and empty-queue-result keyword arguments.
nil
(the
default), then an error is signaled.
nil
) is
returned. A wait value of 0 immediately returns
either a retrieved queue element or
the empty-queue-result value.
nil
value then the process waits until it
can successfully dequeue an object from the queue. In this case
the empty-queue-result argument is ignored.
The predefined method is for the queue
class.
The function queue-empty-p indicates whether the queue is empty or not (but the returned value cannot be depended upon if other processes are operating on the queue).
Interlocks ensure that no entry in the queue will be retrieved by more than one process (once the dequeuing starts, it will complete). If the process does wait, its whostate will be set from the whostate keyword argument, which defaults to the string "dequeue".
See Queues in multiprocessing.htm for more information.
Copyright (c) 1998-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.
| Allegro CL version 8.2 Significant update since 8.2 release. 8.1 version |