Бөлісу құралы:


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);
public System.Threading.Tasks.Task<bool> WaitAsync (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Task(Of Boolean)

Параметры

millisecondsTimeout
Int32

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

cancellationToken
CancellationToken

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

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

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

Исключения

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

-или-

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

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

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

Комментарии

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

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

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

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

WaitAsync()

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

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

public:
 System::Threading::Tasks::Task ^ WaitAsync();
public System.Threading.Tasks.Task WaitAsync ();
member this.WaitAsync : unit -> System.Threading.Tasks.Task
Public Function WaitAsync () As Task

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

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

Исключения

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

Комментарии

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

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

WaitAsync(Int32)

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

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

public:
 System::Threading::Tasks::Task<bool> ^ WaitAsync(int millisecondsTimeout);
public System.Threading.Tasks.Task<bool> WaitAsync (int millisecondsTimeout);
member this.WaitAsync : int -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (millisecondsTimeout As Integer) As Task(Of Boolean)

Параметры

millisecondsTimeout
Int32

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

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

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

Исключения

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

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

-или-

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

Комментарии

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

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

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

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

WaitAsync(CancellationToken)

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

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

public:
 System::Threading::Tasks::Task ^ WaitAsync(System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task WaitAsync (System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function WaitAsync (cancellationToken As CancellationToken) As Task

Параметры

cancellationToken
CancellationToken

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

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

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

Исключения

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

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

Комментарии

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

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

WaitAsync(TimeSpan)

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

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

public:
 System::Threading::Tasks::Task<bool> ^ WaitAsync(TimeSpan timeout);
public System.Threading.Tasks.Task<bool> WaitAsync (TimeSpan timeout);
member this.WaitAsync : TimeSpan -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (timeout As TimeSpan) As Task(Of Boolean)

Параметры

timeout
TimeSpan

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

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

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

Исключения

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

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

-или-

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

Комментарии

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

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

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

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

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);
public System.Threading.Tasks.Task<bool> WaitAsync (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.WaitAsync : TimeSpan * System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function WaitAsync (timeout As TimeSpan, cancellationToken As CancellationToken) As Task(Of Boolean)

Параметры

timeout
TimeSpan

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

cancellationToken
CancellationToken

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

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

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

Исключения

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

-или-

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

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

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

Комментарии

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

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

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

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