Lock-Free Dual Queue with Condition Synchronization and Time-Outs
AssigneeLevel 3 Communications, LLC
InventorWilliam Hopkins
Life of this patent
Estimating the term…
Loading patent…
AssigneeLevel 3 Communications, LLC
InventorWilliam Hopkins
Estimating the term…
Systems and methods for operating software data structures are provided. In one embodiment, lock-free dual queues with conditional synchronization and time-outs are described. The lock-free dual queues of various embodiments of the present invention are accessible by one or more consumer threads and one or more producing threads. The consuming threads are able to access and remove elements from the queue while the producing threads are able to access and add elements to the queue. In some cases, a thread may be both a consuming thread and a producing thread. The add and remove operations of various embodiments of the present invention, generally operate by using conditional synchronization primitives which modifies a value in shared memory to a specified value if the previous value is what was expected.
A system comprising:
A lock-free method of adding elements to a queue accessible by one or more producer threads and one or more consumer threads, the method comprising:
A lock-free method of processing a remove operation of a dual queue that can enter a data state, an empty state and a request state, the method comprising:
A computer-readable storage medium containing a set of instructions capable of causing one or more processors to manage a dual queue that can enter a data state, an empty state, and a request state, the instructions to cause the dual queue to:
Dependencies are inferred from the claim text.