public Task WaitAsync() { if (_isLocked) return Task.Run(() => { }); _isLocked = true; var result = _sem.WaitAsync(); return result; }