public override void Stop() { lock (_stateLock) { lock (_thisLock) { if (this.State == ManagerState.Stop) return; _state = ManagerState.Stop; } _watchThread.Join(); _watchThread = null; } }