SemaphoreSlim.Wait 方法  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
阻止当前线程,直到它可以进入 SemaphoreSlim。
重载
| Wait(TimeSpan, CancellationToken) | 
						 阻止当前线程,直到它可以进入 SemaphoreSlim,使用指定超时的 TimeSpan,同时观察 CancellationToken。  | 
        	
| Wait(Int32, CancellationToken) | 
						 阻止当前线程,直到它可以进入 SemaphoreSlim,使用指定超时的 32 位有符号整数,同时观察 CancellationToken。  | 
        	
| Wait(TimeSpan) | 
						 阻止当前线程,直到它可以输入 SemaphoreSlim,使用 TimeSpan 指定超时。  | 
        	
| Wait(Int32) | 
						 阻止当前线程,直到它可以使用指定超时的 32 位有符号整数进入 SemaphoreSlim。  | 
        	
| Wait() | 
						 阻止当前线程,直到它可以进入 SemaphoreSlim。  | 
        	
| Wait(CancellationToken) | 
						 阻止当前线程,直到它可以进入 SemaphoreSlim,同时观察 CancellationToken。  | 
        	
Wait(TimeSpan, CancellationToken)
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - 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
	参数
- cancellationToken
 - CancellationToken
 
要观察的 CancellationToken。
返回
如果当前线程成功输入 SemaphoreSlim,则 true ;否则,false。
- 属性
 
例外
              cancellationToken 已取消。
注解
如果超时设置为 -1 毫秒,该方法将无限期等待。
如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。
如果线程或任务能够进入信号量,它会逐个递减 CurrentCount 属性。
如果取消 cancellationToken,或者在调用 Wait(TimeSpan, CancellationToken) 时阻止线程或任务,并且 millisecondsTimeout 指定的超时间隔将过期:
- 线程或任务未输入信号灯。
 - CurrentCount 属性不会递减。
 
如果取消 cancellationToken,该方法将引发 OperationCanceledException 异常。
另请参阅
适用于
Wait(Int32, CancellationToken)
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - 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
	参数
- cancellationToken
 - CancellationToken
 
要观察的 CancellationToken。
返回
如果当前线程成功输入 SemaphoreSlim,则 true ;否则,false。
- 属性
 
例外
              cancellationToken 已取消。
已释放 SemaphoreSlim 实例,或者已释放创建 cancellationToken 的 CancellationTokenSource。
注解
如果超时设置为 -1 毫秒,该方法将无限期等待。
如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。
如果线程或任务能够进入信号量,它会逐个递减 CurrentCount 属性。
如果取消 cancellationToken,或者在调用 Wait(Int32, CancellationToken) 时阻止线程或任务,并且 millisecondsTimeout 指定的超时间隔将过期:
- 线程或任务未输入信号灯。
 - CurrentCount 属性不会递减。
 
如果取消 cancellationToken,该方法将引发 OperationCanceledException 异常。
另请参阅
适用于
Wait(TimeSpan)
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - 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
	参数
返回
如果当前线程成功输入 SemaphoreSlim,则 true ;否则,false。
- 属性
 
例外
信号灯实例已释放。
注解
如果超时设置为 -1 毫秒,该方法将无限期等待。
如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。
如果线程或任务能够进入信号量,它会逐个递减 CurrentCount 属性。
如果在调用 Wait(TimeSpan) 时阻止线程或任务,并且 millisecondsTimeout 指定的超时间隔将过期:
- 线程或任务未输入信号灯。
 - CurrentCount 属性不会递减。
 
另请参阅
适用于
Wait(Int32)
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
阻止当前线程,直到它可以使用指定超时的 32 位有符号整数进入 SemaphoreSlim。
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
	参数
返回
如果当前线程成功输入 SemaphoreSlim,则 true ;否则,false。
- 属性
 
例外
              millisecondsTimeout 是除 -1 以外的负数,表示无限超时 -or- 超时大于 Int32.MaxValue。
注解
如果超时设置为 -1 毫秒,该方法将无限期等待。
如果超时设置为零毫秒,则该方法不会阻止。 它会测试等待句柄的状态并立即返回。
如果线程或任务能够进入信号量,它会逐个递减 CurrentCount 属性。
如果在调用 Wait(Int32) 时阻止线程或任务,并且 millisecondsTimeout 指定的超时间隔将过期:
- 线程或任务未输入信号灯。
 - CurrentCount 属性不会递减。
 
另请参阅
适用于
Wait()
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - 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)
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - SemaphoreSlim.cs
 
- Source:
 - 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 已取消。
注解
如果线程或任务能够进入信号量,它会逐个递减 CurrentCount 属性。
如果取消 cancellationToken,则线程或任务不会输入信号灯,并且不会递减 CurrentCount 属性。 相反,该方法会引发 OperationCanceledException 异常。