RubyCall::BlockingQueue(T)
Блокирующая очередь «сырой тред ↔ фибера». Channel непригоден (воркер без планировщика фибер), ConditionVariable — внутренний API Crystal.
Инвариант: глобальный MUTEX гарантирует ровно одну заявку в полёте, поэтому буфер @items не требует блокировок; pipe-семафор (1 байт на заявку) переводит pop в блокирующее чтение ядра без CPU.
Constructors
new
SourceInstance methods
pop
Sourcepush(x : T) : Nil
Source