module Concurrent::ThreadSafe::Util::CheapLockable

def cheap_broadcast

def cheap_broadcast
  waiters = @waiters ||= []
  waiters.shift << true until waiters.empty?
  self
end