Documentation
¶
Overview ¶
Lock-free data structures
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Queue ¶
type Queue[T any] struct { // contains filtered or unexported fields }
Queue is a lock-free queue with a single consumer and multiple producers.
func NewQueue ¶
(AI GENERATED DESCRIPTION): Creates a new empty concurrent queue by initializing a sentinel head node and setting both the head and tail pointers to that node.
type YiQueue ¶
type YiQueue[T any] struct { Notify chan struct{} // contains filtered or unexported fields }
YiQueue is a lock-free Yielding Queue.
It is desgined to be used by a single consumer and multiple producers. Very little spin-locking is used; instead the ring will notify the consumer with a channel when the write rate is not keeping up with the read rate.
func NewYiQueue ¶
(AI GENERATED DESCRIPTION): Creates and returns a new YiQueue[T] initialized with a one‑slot buffered notification channel and an empty underlying queue.
func (*YiQueue[T]) Iter ¶
(AI GENERATED DESCRIPTION): Returns an iterator that repeatedly pops and yields items from the queue until the queue is empty or the supplied yield function returns false.