摘要 |
<p>A circular queue is asynchronously accessed and managed by two separate processing elements. Each data element is placed on the queue together with a zero data element that both marks the tail of the queue and signifies that the queue is empty. Data elements are removed from the queue in the order in which they were stored (first-in-first-out) and a manner that allows multiple, concurrent access to the queue. When the queue is accessed to remove a data element the element is first tested. If it is non-zero, the removal process continues; if zero, the queue is considered empty. The management of the queue permits dynamic re-sizing the queue (i.e., making the queue larger or smaller) while data elements are being added and/or removed.</p> |