class Concurrent::Event

def try?

def try?
  @mutex.lock
  if @set
    result = false
  else
    @set = true
    @condition.broadcast
    result = true
  end
  @mutex.unlock
  result
end