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.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, которое представляет бесконечное время ожидания.

–или–

В .NET 9 и более ранних версиях 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.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

Количество миллисекунд для ожидания (-1) для ожидания Infinite неопределенное время или ноль для проверки состояния дескриптора ожидания и возврата немедленно.

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.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, которое представляет бесконечное время ожидания.

–или–

В .NET 9 и более ранних версиях timeout больше , чем Int32.MaxValue.

Экземпляр semaphoreSlim удален.

Комментарии

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

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

Если поток или задача могут ввести семафор, он уменьшает CurrentCount свойство по одному.

Если поток или задача блокируются при вызове Wait(TimeSpan) и интервал времени ожидания, указанный millisecondsTimeout истекает:

  • Поток или задача не вводит семафор.
  • Свойство CurrentCount не уменьшается.

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

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

Wait(Int32)

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
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

Количество миллисекунд для ожидания (-1) для ожидания Infinite неопределенное время или ноль для проверки состояния дескриптора ожидания и возврата немедленно.

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

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

Атрибуты

Исключения

millisecondsTimeout — отрицательное число, отличное от -1, которое представляет бесконечное время ожидания или время ожидания больше, чем Int32.MaxValue.

Он SemaphoreSlim был удален.

Комментарии

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

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

Если поток или задача могут ввести семафор, он уменьшает CurrentCount свойство по одному.

Если поток или задача блокируются при вызове Wait(Int32) и интервал времени ожидания, указанный millisecondsTimeout истекает:

  • Поток или задача не вводит семафор.
  • Свойство CurrentCount не уменьшается.

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

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

Wait()

Исходный код:
SemaphoreSlim.cs
Исходный код:
SemaphoreSlim.cs
Исходный код:
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.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 исключение.

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

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