Прочитать на английском

Поделиться через


SemaphoreSlim.WaitAsync Метод

Определение

Асинхронно ожидает входа в SemaphoreSlim.

Перегрузки

WaitAsync(Int32, CancellationToken)

Асинхронно ожидает входа в SemaphoreSlim, используя 32-разрядное целое число со знаком для измерения интервала времени, контролируя CancellationToken.

WaitAsync()

Асинхронно ожидает входа в SemaphoreSlim.

WaitAsync(Int32)

Асинхронно ожидает входа в SemaphoreSlim, используя 32-разрядное целое число со знаком для измерения интервала времени.

WaitAsync(CancellationToken)

Асинхронно ожидает входа в SemaphoreSlim, контролируя CancellationToken.

WaitAsync(TimeSpan)

Асинхронно ожидает входа в SemaphoreSlim, используя TimeSpan для измерения интервала времени.

WaitAsync(TimeSpan, CancellationToken)

Асинхронно ожидает входа в SemaphoreSlim, используя TimeSpan для измерения интервала времени и контролируя CancellationToken.

WaitAsync(Int32, CancellationToken)

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs

Асинхронно ожидает входа в SemaphoreSlim, используя 32-разрядное целое число со знаком для измерения интервала времени, контролируя CancellationToken.

public System.Threading.Tasks.Task<bool> WaitAsync (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);

Параметры

millisecondsTimeout
Int32

Количество миллисекунд ожидания, Infinite (–1) для неограниченного времени ожидания, или нуль, чтобы проверить состояние дескриптора ожидания и выполнить немедленный возврат.

cancellationToken
CancellationToken

Токен отмены CancellationToken, который следует контролировать.

Возвращаемое значение

Задача, которая будет завершаться с результатом true, если текущий поток успешно вошел в SemaphoreSlim, и с результатом false в противном случае.

Исключения

millisecondsTimeout является числом, отличным от -1, которое представляет неограниченное время ожидания.

-или-

millisecondsTimeout больше, чем Int32.MaxValue.

Текущий экземпляр уже удален.

cancellationToken был отменен.

Комментарии

Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.

Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и немедленно возвращается.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Wait(Int32).

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAsync()

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs

Асинхронно ожидает входа в SemaphoreSlim.

public System.Threading.Tasks.Task WaitAsync ();

Возвращаемое значение

Задача, которая завершается, когда семафор будет введен.

Исключения

Объект SemaphoreSlim удален.

Комментарии

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Wait().

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAsync(Int32)

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs

Асинхронно ожидает входа в SemaphoreSlim, используя 32-разрядное целое число со знаком для измерения интервала времени.

public System.Threading.Tasks.Task<bool> WaitAsync (int millisecondsTimeout);

Параметры

millisecondsTimeout
Int32

Количество миллисекунд ожидания, Infinite (–1) для неограниченного времени ожидания, или нуль, чтобы проверить состояние дескриптора ожидания и выполнить немедленный возврат.

Возвращаемое значение

Задача, которая будет завершаться с результатом true, если текущий поток успешно вошел в SemaphoreSlim, и с результатом false в противном случае.

Исключения

Текущий экземпляр уже удален.

millisecondsTimeout является отрицательным числом, отличным от -1, которое представляет неограниченное время ожидания.

-или-

millisecondsTimeout больше, чем Int32.MaxValue.

Комментарии

Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.

Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и немедленно возвращается.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Wait(Int32).

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAsync(CancellationToken)

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs

Асинхронно ожидает входа в SemaphoreSlim, контролируя CancellationToken.

public System.Threading.Tasks.Task WaitAsync (System.Threading.CancellationToken cancellationToken);

Параметры

cancellationToken
CancellationToken

Токен CancellationToken, который следует контролировать.

Возвращаемое значение

Задача, которая завершается, когда семафор будет введен.

Исключения

Текущий экземпляр уже удален.

cancellationToken был отменен.

Комментарии

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Wait().

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAsync(TimeSpan)

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs

Асинхронно ожидает входа в SemaphoreSlim, используя TimeSpan для измерения интервала времени.

public System.Threading.Tasks.Task<bool> WaitAsync (TimeSpan timeout);

Параметры

timeout
TimeSpan

TimeSpan, представляющий количество миллисекунд для ожидания, TimeSpan, представляющий –1 миллисекунду для неопределенного ожидания, или TimeSpan, представляющий 0 миллисекунд, чтобы протестировать дескриптор ожидания и выполнить немедленный возврат.

Возвращаемое значение

Задача, которая будет завершаться с результатом true, если текущий поток успешно вошел в SemaphoreSlim, и с результатом false в противном случае.

Исключения

Текущий экземпляр уже удален.

timeout является отрицательным числом, отличным от -1, которое представляет неограниченное время ожидания.

-или-

timeout больше, чем Int32.MaxValue.

Комментарии

Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.

Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и немедленно возвращается.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Wait(TimeSpan).

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

WaitAsync(TimeSpan, CancellationToken)

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs

Асинхронно ожидает входа в SemaphoreSlim, используя TimeSpan для измерения интервала времени и контролируя CancellationToken.

public System.Threading.Tasks.Task<bool> WaitAsync (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);

Параметры

timeout
TimeSpan

TimeSpan, представляющий количество миллисекунд для ожидания, TimeSpan, представляющий –1 миллисекунду для неопределенного ожидания, или TimeSpan, представляющий 0 миллисекунд, чтобы протестировать дескриптор ожидания и выполнить немедленный возврат.

cancellationToken
CancellationToken

Токен CancellationToken, который следует контролировать.

Возвращаемое значение

Задача, которая будет завершаться с результатом true, если текущий поток успешно вошел в SemaphoreSlim, и с результатом false в противном случае.

Исключения

timeout является отрицательным числом, отличным от -1, которое представляет неограниченное время ожидания.

-или-

timeout больше, чем Int32.MaxValue.

cancellationToken был отменен.

Объект SemaphoreSlim удален.

Комментарии

Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.

Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и немедленно возвращается.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Wait(TimeSpan).

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0