private void AddJob(Job job) { bool needWake; lock (_queue) { needWake = _queue.Count == 0; _queue.Enqueue(job); } if (needWake) { _event.Set(); } }