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 исключение.

См. также раздел

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