コード例 #1
0
        public async Task WaitAsync()
        {
            Task task;

            lock (_semaphore)
            {
                if (_semaphore.CurrentCount == 0)
                {
                    _gateway.Log(LogSeverity.Information, "Delaying identifying...");
                }

                task = _semaphore.WaitAsync();
            }

            await task.ConfigureAwait(false);

            _ = ReleaseAsync();
        }