Eio_utils.Lf_queue
SourceA lock-free multi-producer, single-consumer, thread-safe queue without support for cancellation. This makes a good data structure for a scheduler's run queue.
A queue of items of type 'a
.
push t x
adds x
to the tail of the queue. This can be used safely by multiple producer domains, in parallel with the other operations.
push_head t x
inserts x
at the head of the queue. This can only be used by the consumer (if run in parallel with pop
, the item might be skipped).
pop t
removes the head item from t
and returns it. Returns None
if t
is currently empty.