Barrier.SignalAndWait 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
发出参与者已达到屏障并等待所有其他参与者也达到屏障。
重载
SignalAndWait() |
发出参与者已达到屏障并等待所有其他参与者也达到屏障。 |
SignalAndWait(Int32) |
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,同时使用 32 位带符号整数测量超时。 |
SignalAndWait(CancellationToken) |
发出参与者已达到屏障的信号,并等待所有其他参与者达到屏障,同时观察取消标记。 |
SignalAndWait(TimeSpan) |
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,同时使用 TimeSpan 对象测量时间间隔。 |
SignalAndWait(Int32, CancellationToken) |
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,使用 32 位带符号整数测量超时,同时观察取消标记。 |
SignalAndWait(TimeSpan, CancellationToken) |
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,使用 TimeSpan 对象测量时间间隔,同时观察取消标记。 |
SignalAndWait()
- Source:
- Barrier.cs
- Source:
- Barrier.cs
- Source:
- Barrier.cs
发出参与者已达到屏障并等待所有其他参与者也达到屏障。
public:
void SignalAndWait();
public void SignalAndWait ();
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public void SignalAndWait ();
member this.SignalAndWait : unit -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.SignalAndWait : unit -> unit
Public Sub SignalAndWait ()
- 属性
例外
已释放当前实例。
该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。
在所有参与线程调用了 SignalAndWait 之后,如果关卡的后期阶段操作中引发了异常,该异常将包装在 BarrierPostPhaseException 中并在所有参与线程上引发。
另请参阅
适用于
SignalAndWait(Int32)
- Source:
- Barrier.cs
- Source:
- Barrier.cs
- Source:
- Barrier.cs
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,同时使用 32 位带符号整数测量超时。
public:
bool SignalAndWait(int millisecondsTimeout);
public bool SignalAndWait (int millisecondsTimeout);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool SignalAndWait (int millisecondsTimeout);
member this.SignalAndWait : int -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.SignalAndWait : int -> bool
Public Function SignalAndWait (millisecondsTimeout As Integer) As Boolean
参数
返回
如果所有参与者都已在指定时间内达到屏障,则为 true
;否则为 false
。
- 属性
例外
已释放当前实例。
millisecondsTimeout
是一个非 -1 的负数,而 -1 表示无限期超时。
该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。
在所有参与线程调用了 SignalAndWait 之后,如果关卡的后期阶段操作中引发了异常,该异常将包装在 BarrierPostPhaseException 中并在所有参与线程上引发。
另请参阅
适用于
SignalAndWait(CancellationToken)
- Source:
- Barrier.cs
- Source:
- Barrier.cs
- Source:
- Barrier.cs
发出参与者已达到屏障的信号,并等待所有其他参与者达到屏障,同时观察取消标记。
public:
void SignalAndWait(System::Threading::CancellationToken cancellationToken);
public void SignalAndWait (System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public void SignalAndWait (System.Threading.CancellationToken cancellationToken);
member this.SignalAndWait : System.Threading.CancellationToken -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.SignalAndWait : System.Threading.CancellationToken -> unit
Public Sub SignalAndWait (cancellationToken As CancellationToken)
参数
- cancellationToken
- CancellationToken
要观察的 CancellationToken。
- 属性
例外
cancellationToken
已取消。
已释放当前实例。
该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。
另请参阅
适用于
SignalAndWait(TimeSpan)
- Source:
- Barrier.cs
- Source:
- Barrier.cs
- Source:
- Barrier.cs
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,同时使用 TimeSpan 对象测量时间间隔。
public:
bool SignalAndWait(TimeSpan timeout);
public bool SignalAndWait (TimeSpan timeout);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool SignalAndWait (TimeSpan timeout);
member this.SignalAndWait : TimeSpan -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.SignalAndWait : TimeSpan -> bool
Public Function SignalAndWait (timeout As TimeSpan) As Boolean
参数
返回
如果所有其他参与者已到达关卡,则为 true
;否则为 false
。
- 属性
例外
已释放当前实例。
timeout
是 -1 毫秒之外的负数,表示无限超时或者超时大于 32,767。
该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。
另请参阅
适用于
SignalAndWait(Int32, CancellationToken)
- Source:
- Barrier.cs
- Source:
- Barrier.cs
- Source:
- Barrier.cs
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,使用 32 位带符号整数测量超时,同时观察取消标记。
public:
bool SignalAndWait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool SignalAndWait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool SignalAndWait (int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
member this.SignalAndWait : int * System.Threading.CancellationToken -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.SignalAndWait : int * System.Threading.CancellationToken -> bool
Public Function SignalAndWait (millisecondsTimeout As Integer, cancellationToken As CancellationToken) As Boolean
参数
- cancellationToken
- CancellationToken
要观察的 CancellationToken。
返回
true
如果所有参与者在指定时间内都达到障碍,则为 ;否则为 false
。
- 属性
例外
cancellationToken
已取消。
已释放当前实例。
millisecondsTimeout
是一个非 -1 的负数,而 -1 表示无限期超时。
该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。
注解
cancellationToken
如果在信号生效之前取消了 ,则会引发 ,OperationCanceledException并且ParticipantsRemaining该值不会减小。
cancellationToken
如果 信号生效后未取消或取消,则ParticipantsRemaining减少且不OperationCanceledException引发。
另请参阅
适用于
SignalAndWait(TimeSpan, CancellationToken)
- Source:
- Barrier.cs
- Source:
- Barrier.cs
- Source:
- Barrier.cs
发出参与者已达到屏障的信号,并等待所有其他参与者也达到屏障,使用 TimeSpan 对象测量时间间隔,同时观察取消标记。
public:
bool SignalAndWait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool SignalAndWait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool SignalAndWait (TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.SignalAndWait : TimeSpan * System.Threading.CancellationToken -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.SignalAndWait : TimeSpan * System.Threading.CancellationToken -> bool
Public Function SignalAndWait (timeout As TimeSpan, cancellationToken As CancellationToken) As Boolean
参数
- cancellationToken
- CancellationToken
要观察的 CancellationToken。
返回
如果所有其他参与者已到达关卡,则为 true
;否则为 false
。
- 属性
例外
cancellationToken
已取消。
已释放当前实例。
timeout
为 -1 毫秒以外的负数,表示无限期超时。
该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。