SemaphoreSlim.Wait Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Блокирует текущий поток, пока он не сможет войти в SemaphoreSlim.
Перегрузки
Wait(TimeSpan, CancellationToken) |
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя значение TimeSpan, которое определяет время ожидания, и контролирует токен CancellationToken. |
Wait(Int32, CancellationToken) |
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя 32-разрядное целое число со знаком, которое определяет время ожидания, и контролирует токен CancellationToken. |
Wait(TimeSpan) |
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя значение TimeSpan для определения времени ожидания. |
Wait(Int32) |
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя 32-разрядное целое число со знаком, которое определяет время ожидания. |
Wait() |
Блокирует текущий поток, пока он не сможет войти в SemaphoreSlim. |
Wait(CancellationToken) |
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, и контролирует токен CancellationToken. |
Wait(TimeSpan, CancellationToken)
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя значение TimeSpan, которое определяет время ожидания, и контролирует токен CancellationToken.
public:
bool Wait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool Wait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : TimeSpan * System.Threading.CancellationToken -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : TimeSpan * System.Threading.CancellationToken -> bool
Public Function Wait (timeout As TimeSpan, cancellationToken As CancellationToken) As Boolean
Параметры
- timeout
- TimeSpan
TimeSpan, представляющий количество миллисекунд для ожидания, TimeSpan, представляющий –1 миллисекунду для неопределенного ожидания, или TimeSpan, представляющий 0 миллисекунд, чтобы протестировать дескриптор ожидания и выполнить немедленный возврат.
- cancellationToken
- CancellationToken
Токен отмены CancellationToken, который следует контролировать.
Возвращаемое значение
Значение true
, если текущий поток успешно передан в объект SemaphoreSlim; в противном случае — значение false
.
- Атрибуты
Исключения
cancellationToken
был отменен.
timeout
является отрицательным числом, отличным от -1, которое представляет неограниченное время ожидания.
- или -.
timeout
больше , чем Int32.MaxValue.
Экземпляр semaphoreSlim был уничтожен.
-или-
Класс CancellationTokenSource, создавший cancellationToken
, уже удален.
Комментарии
Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.
Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и возвращает немедленно.
Если поток или задача могут войти в семафор, свойство уменьшается на CurrentCount единицы.
Если cancellationToken
отменено или если поток или задача блокируются при вызове Wait(TimeSpan, CancellationToken) и истекает интервал времени ожидания, указанный параметром millisecondsTimeout
:
- Поток или задача не входят в семафор.
- Свойство CurrentCount не уменьшается.
Если cancellationToken
отмена отменена, метод создает OperationCanceledException исключение.
См. также раздел
Применяется к
Wait(Int32, CancellationToken)
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя 32-разрядное целое число со знаком, которое определяет время ожидания, и контролирует токен CancellationToken.
public:
bool Wait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool Wait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.Wait : int * System.Threading.CancellationToken -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : int * System.Threading.CancellationToken -> bool
Public Function Wait (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Boolean
Параметры
- millisecondsTimeout
- Int32
Количество миллисекунд ожидания, Infinite(–1) для неограниченного времени ожидания, или нуль, чтобы проверить состояние дескриптора ожидания и выполнить немедленный возврат.
- cancellationToken
- CancellationToken
Токен отмены CancellationToken, который следует контролировать.
Возвращаемое значение
Значение true
, если текущий поток успешно передан в объект SemaphoreSlim; в противном случае — значение false
.
- Атрибуты
Исключения
cancellationToken
был отменен.
millisecondsTimeout
является отрицательным числом, отличным от -1, которое представляет неограниченное время ожидания.
-или-
millisecondsTimeout
больше , чем Int32.MaxValue.
Экземпляр SemaphoreSlim был удален, или объект CancellationTokenSource, создавшийcancellationToken
, был удален.
Комментарии
Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.
Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и возвращает немедленно.
Если поток или задача могут войти в семафор, свойство уменьшается на CurrentCount единицы.
Если cancellationToken
отменено или если поток или задача блокируются при вызове Wait(Int32, CancellationToken) и истекает интервал времени ожидания, указанный параметром millisecondsTimeout
:
- Поток или задача не входят в семафор.
- Свойство CurrentCount не уменьшается.
Если cancellationToken
отмена отменена, метод создает OperationCanceledException исключение.
См. также раздел
Применяется к
Wait(TimeSpan)
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя значение TimeSpan для определения времени ожидания.
public:
bool Wait(TimeSpan timeout);
public bool Wait (TimeSpan timeout);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (TimeSpan timeout);
member this.Wait : TimeSpan -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : TimeSpan -> bool
Public Function Wait (timeout As TimeSpan) As Boolean
Параметры
- timeout
- TimeSpan
TimeSpan, представляющий количество миллисекунд для ожидания, TimeSpan, представляющий –1 миллисекунду для неопределенного ожидания, или TimeSpan, представляющий 0 миллисекунд, чтобы протестировать дескриптор ожидания и выполнить немедленный возврат.
Возвращаемое значение
Значение true
, если текущий поток успешно передан в объект SemaphoreSlim; в противном случае — значение false
.
- Атрибуты
Исключения
timeout
является отрицательным числом, отличным от -1, которое представляет неограниченное время ожидания.
-или-
timeout
больше , чем Int32.MaxValue.
Экземпляр semaphoreSlim был уничтожен.
Комментарии
Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.
Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и возвращает немедленно.
Если поток или задача могут войти в семафор, свойство уменьшается на CurrentCount единицы.
Если поток или задача блокируются при вызове Wait(TimeSpan) и истекает интервал времени ожидания, указанный параметром millisecondsTimeout
:
- Поток или задача не входят в семафор.
- Свойство CurrentCount не уменьшается.
См. также раздел
Применяется к
Wait(Int32)
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, используя 32-разрядное целое число со знаком, которое определяет время ожидания.
public:
bool Wait(int millisecondsTimeout);
public bool Wait (int millisecondsTimeout);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Wait (int millisecondsTimeout);
member this.Wait : int -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : int -> bool
Public Function Wait (millisecondsTimeout As Integer) As Boolean
Параметры
- millisecondsTimeout
- Int32
Количество миллисекунд ожидания, Infinite(–1) для неограниченного времени ожидания, или нуль, чтобы проверить состояние дескриптора ожидания и выполнить немедленный возврат.
Возвращаемое значение
Значение true
, если текущий поток успешно передан в объект SemaphoreSlim; в противном случае — значение false
.
- Атрибуты
Исключения
millisecondsTimeout
— отрицательное число, отличное от -1, которое представляет бесконечное время ожидания или больше , чем Int32.MaxValue.
Объект SemaphoreSlim удален.
Комментарии
Если время ожидания равно –1 миллисекундам, метод ожидает неограниченное время.
Если время ожидания равно нулю миллисекундам, метод не блокируется. Он проверяет состояние дескриптора ожидания и возвращает немедленно.
Если поток или задача могут войти в семафор, свойство уменьшается на CurrentCount единицы.
Если поток или задача блокируются при вызове Wait(Int32) и истекает интервал времени ожидания, указанный параметром millisecondsTimeout
:
- Поток или задача не входят в семафор.
- Свойство CurrentCount не уменьшается.
См. также раздел
Применяется к
Wait()
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
Блокирует текущий поток, пока он не сможет войти в SemaphoreSlim.
public:
void Wait();
public void Wait ();
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public void Wait ();
member this.Wait : unit -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : unit -> unit
Public Sub Wait ()
- Атрибуты
Исключения
Текущий экземпляр уже удален.
Комментарии
Если поток или задача могут войти в семафор, свойство уменьшается на CurrentCount единицы.
См. также раздел
Применяется к
Wait(CancellationToken)
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
- Исходный код:
- SemaphoreSlim.cs
Блокирует текущий поток до тех пор, пока он не сможет войти в SemaphoreSlim, и контролирует токен CancellationToken.
public:
void Wait(System::Threading::CancellationToken cancellationToken);
public void Wait (System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public void Wait (System.Threading.CancellationToken cancellationToken);
member this.Wait : System.Threading.CancellationToken -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Wait : System.Threading.CancellationToken -> unit
Public Sub Wait (cancellationToken As CancellationToken)
Параметры
- cancellationToken
- CancellationToken
Токен CancellationToken, который следует контролировать.
- Атрибуты
Исключения
cancellationToken
был отменен.
Текущий экземпляр уже удален.
-или-
Класс CancellationTokenSource, создавший cancellationToken
, уже удален.
Комментарии
Если поток или задача могут войти в семафор, свойство уменьшается на CurrentCount единицы.
При cancellationToken
отмене поток или задача не вводит семафор, а CurrentCount свойство не уменьшается. Вместо этого метод создает OperationCanceledException исключение.
См. также раздел
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по