Barrier.SignalAndWait 方法

定义

指示参与者已达到障碍,并等待所有其他参与者也到达屏障。

重载

名称 说明
SignalAndWait()

指示参与者已达到障碍,并等待所有其他参与者也到达屏障。

SignalAndWait(Int32)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,并使用 32 位带符号整数来测量超时。

SignalAndWait(CancellationToken)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,同时观察取消令牌。

SignalAndWait(TimeSpan)

指示参与者已到达屏障,并等待所有其他参与者也到达屏障,并使用 TimeSpan 对象测量时间间隔。

SignalAndWait(Int32, CancellationToken)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,同时使用 32 位带符号整数来测量超时,同时观察取消令牌。

SignalAndWait(TimeSpan, CancellationToken)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,同时使用 TimeSpan 对象测量时间间隔,同时观察取消令牌。

SignalAndWait()

指示参与者已达到障碍,并等待所有其他参与者也到达屏障。

public:
 void SignalAndWait();
public void SignalAndWait();
member this.SignalAndWait : unit -> unit
Public Sub SignalAndWait ()

例外

当前实例已释放。

该方法是从阶段后操作中调用的,屏障当前有 0 个参与者,或者屏障由线程数超过注册为参与者的信号。

如果在所有参与线程都称为 SignalAndWait 后,屏障的后阶段操作中引发了异常,该异常将包装在 BarrierPostPhaseException 中,并在所有参与线程上引发。

另请参阅

适用于

SignalAndWait(Int32)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,并使用 32 位带符号整数来测量超时。

public:
 bool SignalAndWait(int millisecondsTimeout);
public bool SignalAndWait(int millisecondsTimeout);
member this.SignalAndWait : int -> bool
Public Function SignalAndWait (millisecondsTimeout As Integer) As Boolean

参数

millisecondsTimeout
Int32

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

返回

true 如果所有参与者在指定时间内到达屏障,则为否则 false

例外

当前实例已释放。

millisecondsTimeout 是非 -1 的负数,表示无限超时。

该方法是从阶段后操作中调用的,屏障当前有 0 个参与者,或者屏障由线程数超过注册为参与者的信号。

如果在所有参与线程都称为 SignalAndWait 后,屏障的后阶段操作中引发了异常,该异常将包装在 BarrierPostPhaseException 中,并在所有参与线程上引发。

另请参阅

适用于

SignalAndWait(CancellationToken)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,同时观察取消令牌。

public:
 void SignalAndWait(System::Threading::CancellationToken cancellationToken);
public void SignalAndWait(System.Threading.CancellationToken cancellationToken);
member this.SignalAndWait : System.Threading.CancellationToken -> unit
Public Sub SignalAndWait (cancellationToken As CancellationToken)

参数

cancellationToken
CancellationToken

CancellationToken 观察的。

例外

cancellationToken 已取消。

当前实例已释放。

该方法是从阶段后操作中调用的,屏障当前有 0 个参与者,或者屏障由线程数超过注册为参与者的信号。

另请参阅

适用于

SignalAndWait(TimeSpan)

指示参与者已到达屏障,并等待所有其他参与者也到达屏障,并使用 TimeSpan 对象测量时间间隔。

public:
 bool SignalAndWait(TimeSpan timeout);
public bool SignalAndWait(TimeSpan timeout);
member this.SignalAndWait : TimeSpan -> bool
Public Function SignalAndWait (timeout As TimeSpan) As Boolean

参数

timeout
TimeSpan

一个 TimeSpan 表示等待的毫秒数,或 TimeSpan 表示要无限期等待的 -1 毫秒。

返回

true 如果所有其他参与者都达到了障碍,则为否则,为 false.

例外

当前实例已释放。

timeout 是一个负数,而不是 -1 毫秒,表示无限超时,或者大于 32,767。

该方法是从阶段后操作中调用的,屏障当前有 0 个参与者,或者屏障由线程数超过注册为参与者的信号。

另请参阅

适用于

SignalAndWait(Int32, CancellationToken)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,同时使用 32 位带符号整数来测量超时,同时观察取消令牌。

public:
 bool SignalAndWait(int millisecondsTimeout, System::Threading::CancellationToken cancellationToken);
public bool SignalAndWait(int millisecondsTimeout, System.Threading.CancellationToken cancellationToken);
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 的负数,表示无限超时。

该方法是从阶段后操作中调用的,屏障当前有 0 个参与者,或者屏障由线程数超过注册为参与者的信号。

注解

cancellationToken如果在信号生效之前取消了该命令,则会引发一个OperationCanceledException值,并且ParticipantsRemaining该值不会减少。 cancellationToken如果信号生效后未取消或取消,则ParticipantsRemaining减少且不OperationCanceledException引发。

另请参阅

适用于

SignalAndWait(TimeSpan, CancellationToken)

指示参与者已到达屏障,并等待所有其他参与者到达屏障,同时使用 TimeSpan 对象测量时间间隔,同时观察取消令牌。

public:
 bool SignalAndWait(TimeSpan timeout, System::Threading::CancellationToken cancellationToken);
public bool SignalAndWait(TimeSpan timeout, System.Threading.CancellationToken cancellationToken);
member this.SignalAndWait : TimeSpan * System.Threading.CancellationToken -> bool
Public Function SignalAndWait (timeout As TimeSpan, cancellationToken As CancellationToken) As Boolean

参数

timeout
TimeSpan

一个 TimeSpan 表示等待的毫秒数,或 TimeSpan 表示要无限期等待的 -1 毫秒。

cancellationToken
CancellationToken

CancellationToken 观察的。

返回

true 如果所有其他参与者都达到了障碍,则为否则,为 false.

例外

cancellationToken 已取消。

当前实例已释放。

timeout 是一个负数,而不是 -1 毫秒,表示无限超时。

该方法是从阶段后操作中调用的,屏障当前有 0 个参与者,或者屏障由线程数超过注册为参与者的信号。

另请参阅

适用于