Condition, condition queue, condition predicate, lock