class

RubyCall::BlockingQueue(T)

Inherits Reference < Object

Блокирующая очередь «сырой тред ↔ фибера». Channel непригоден (воркер без планировщика фибер), ConditionVariable — внутренний API Crystal.

Инвариант: глобальный MUTEX гарантирует ровно одну заявку в полёте, поэтому буфер @items не требует блокировок; pipe-семафор (1 байт на заявку) переводит pop в блокирующее чтение ядра без CPU.

Constructors

Instance methods

push(x : T) : Nil
Source