7.1.2 Double-Ended Queue
Keywords: perfbook_html

##
7.1.2 Double-Ended Queue

A double-ended queue is a data structure containing a list of elements that may be inserted or removed from either end [Knu73]. It has been claimed that a lock-based implementation permitting concurrent operations on both ends of the double-ended queue is difficult [Gro07]. This section shows how a partitioning design strategy can result in a reasonably simple implementation, looking at three general approaches in the following sections.

Subsections

- 7.1.2.1 Right- and Left-Hand Locks
- 7.1.2.2 Compound Double-Ended Queue
- 7.1.2.3 Hashed Double-Ended Queue
- 7.1.2.4 Compound Double-Ended Queue Revisited
- 7.1.2.5 Double-Ended Queue Discussion