public void Add(IRoundRobinWorker worker) { _addRemoveQueue.Enqueue(Tuple.Create(true, worker)); _waitHandle.Set(); // this will wake up the thread if it's waiting }