Barrier.SignalAndWait Método

Definição

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira.

Sobrecargas

Name Description
SignalAndWait()

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira.

SignalAndWait(Int32)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um inteiro assinado de 32 bits para medir o timeout.

SignalAndWait(CancellationToken)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes atinjam a barreira, enquanto observa um token de cancelamento.

SignalAndWait(TimeSpan)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um TimeSpan objeto para medir o intervalo de tempo.

SignalAndWait(Int32, CancellationToken)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um inteiro assinado de 32 bits para medir o timeout, enquanto observa um token de cancelamento.

SignalAndWait(TimeSpan, CancellationToken)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um TimeSpan objeto para medir o intervalo de tempo, enquanto observa um token de cancelamento.

SignalAndWait()

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira.

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

Exceções

O caso atual já foi resolvido.

O método foi invocado dentro de uma ação pós-fase, a barreira tem atualmente 0 participantes, ou a barreira é sinalizada por mais threads do que os registados como participantes.

Se uma exceção for lançada a partir da ação pós-fase de uma Barreira depois de todas as threads participantes terem chamado SignalAndWait, a exceção será envolvida numa BarrierPostPhaseException e lançada em todas as threads participantes.

Ver também

Aplica-se a

SignalAndWait(Int32)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um inteiro assinado de 32 bits para medir o timeout.

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

Parâmetros

millisecondsTimeout
Int32

O número de milissegundos para esperar, ou Infinite(-1) para esperar indefinidamente.

Devoluções

true se todos os participantes atingirem a barreira dentro do tempo especificado; caso contrário false.

Exceções

O caso atual já foi resolvido.

millisecondsTimeout é um número negativo diferente de -1, o que representa um tempo limite infinito.

O método foi invocado dentro de uma ação pós-fase, a barreira tem atualmente 0 participantes, ou a barreira é sinalizada por mais threads do que os registados como participantes.

Se uma exceção for lançada a partir da ação pós-fase de uma Barreira depois de todas as threads participantes terem chamado SignalAndWait, a exceção será envolvida numa BarrierPostPhaseException e lançada em todas as threads participantes.

Ver também

Aplica-se a

SignalAndWait(CancellationToken)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes atinjam a barreira, enquanto observa um token de cancelamento.

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)

Parâmetros

cancellationToken
CancellationToken

A CancellationToken observar.

Exceções

cancellationToken foi cancelado.

O caso atual já foi resolvido.

O método foi invocado dentro de uma ação pós-fase, a barreira tem atualmente 0 participantes, ou a barreira é sinalizada por mais threads do que os registados como participantes.

Ver também

Aplica-se a

SignalAndWait(TimeSpan)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um TimeSpan objeto para medir o intervalo de tempo.

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

Parâmetros

timeout
TimeSpan

A TimeSpan que representa o número de milissegundos para esperar, ou a TimeSpan que representa -1 milissegundos para esperar indefinidamente.

Devoluções

true se todos os outros participantes alcançassem a barreira; caso contrário, false.

Exceções

O caso atual já foi resolvido.

timeout é um número negativo diferente de -1 milissegundos, que representa um tempo de espera infinito, ou é maior que 32.767.

O método foi invocado dentro de uma ação pós-fase, a barreira tem atualmente 0 participantes, ou a barreira é sinalizada por mais threads do que os registados como participantes.

Ver também

Aplica-se a

SignalAndWait(Int32, CancellationToken)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um inteiro assinado de 32 bits para medir o timeout, enquanto observa um token de cancelamento.

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

Parâmetros

millisecondsTimeout
Int32

O número de milissegundos para esperar, ou Infinite(-1) para esperar indefinidamente.

cancellationToken
CancellationToken

A CancellationToken observar.

Devoluções

true se todos os participantes atingirem a barreira dentro do tempo especificado; caso contrário, false.

Exceções

cancellationToken foi cancelado.

O caso atual já foi resolvido.

millisecondsTimeout é um número negativo diferente de -1, o que representa um tempo limite infinito.

O método foi invocado dentro de uma ação pós-fase, a barreira tem atualmente 0 participantes, ou a barreira é sinalizada por mais threads do que os registados como participantes.

Observações

Se o cancellationToken foi cancelado antes do sinal entrar em vigor, então um OperationCanceledException é lançado e o ParticipantsRemaining valor não diminui. Se o cancellationToken não for cancelado ou for cancelado após o sinal entrar em efeito, então ParticipantsRemaining é diminuído e não OperationCanceledException é lançado.

Ver também

Aplica-se a

SignalAndWait(TimeSpan, CancellationToken)

Sinaliza que um participante atingiu a barreira e espera que todos os outros participantes também atinjam a barreira, usando um TimeSpan objeto para medir o intervalo de tempo, enquanto observa um token de cancelamento.

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

Parâmetros

timeout
TimeSpan

A TimeSpan que representa o número de milissegundos para esperar, ou a TimeSpan que representa -1 milissegundos para esperar indefinidamente.

cancellationToken
CancellationToken

A CancellationToken observar.

Devoluções

true se todos os outros participantes alcançassem a barreira; caso contrário, false.

Exceções

cancellationToken foi cancelado.

O caso atual já foi resolvido.

timeout é um número negativo diferente de -1 milissegundos, o que representa um tempo de espera infinito.

O método foi invocado dentro de uma ação pós-fase, a barreira tem atualmente 0 participantes, ou a barreira é sinalizada por mais threads do que os registados como participantes.

Ver também

Aplica-se a