Barrier.SignalAndWait 方法

定义

发出参与者已达到屏障并等待所有其他参与者也达到屏障。

重载

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

参数

millisecondsTimeout
Int32

等待的毫秒数,或为 Infinite (-1),表示无限期等待。

返回

如果所有参与者都已在指定时间内达到屏障,则为 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

参数

timeout
TimeSpan

表示等待毫秒数的 TimeSpan,或表示 -1 毫秒(无限期等待)的 TimeSpan

返回

如果所有其他参与者已到达关卡,则为 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

参数

millisecondsTimeout
Int32

等待的毫秒数,或为 Infinite (-1),表示无限期等待。

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

参数

timeout
TimeSpan

表示等待毫秒数的 TimeSpan,或表示 -1 毫秒(无限期等待)的 TimeSpan

cancellationToken
CancellationToken

要观察的 CancellationToken

返回

如果所有其他参与者已到达关卡,则为 true;否则为 false

属性

例外

cancellationToken 已取消。

已释放当前实例。

timeout 为 -1 毫秒以外的负数,表示无限期超时。

该方法从阶段后操作中调用,当前屏障具有 0 个参与者,或该屏障被注册为参与者的更多线程终止。

另请参阅

适用于