private void Trigger(IRelay relay) { if (_triggerCount == 0) { _triggerCountIsZero.Reset(); } _triggerCount++; ThreadPool.QueueUserWorkItem(delegate { try { relay.Go(); } finally { DecrementTriggerCount(); } }); }