Producer-consumer data transfer using piecewise circular queue
AssigneeMicrosoft Corporation
InventorsIgor Ostrovsky, Stephen H. Toub
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Corporation
InventorsIgor Ostrovsky, Stephen H. Toub
Estimating the term…
A method includes producing values with a producer thread, and providing a queue data structure including a first array of storage locations for storing the values. The first array has a first tail pointer and a first linking pointer. If a number of values stored in the first array is less than a capacity of the first array, an enqueue operation writes a new value at a storage location pointed to by the first tail pointer and advances the first tail pointer. If the number of values stored in the first array is equal to the capacity of the first array, a second array of storage locations is allocated in the queue. The second array has a second tail pointer. The first array is linked to the second array with the first linking pointer. An enqueue operation writes the new value at a storage location pointed to by the second tail pointer and advances the second tail pointer.
A computer readable storage medium, which does not include transitory propagating signals, storing computer-executable instructions for controlling a computing device to perform a method comprising:
A computer readable storage medium, which does not include transitory propagating signals, storing computer-executable instructions for controlling a computing device to perform a method comprising:
A method performed by a computing device, the method comprising:
Dependencies are inferred from the claim text.