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.