Namespaces
Variants

std::barrier<CompletionFunction>:: arrive_and_drop

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
void arrive_and_drop ( ) ;
(desde C++20)

Decrementa el recuento inicial esperado para todas las fases posteriores en uno, y luego decrementa el recuento esperado para la fase actual en uno.

Esta función se ejecuta atómicamente. La llamada a esta función strongly happens-before el inicio del paso de finalización de fase para la fase actual.

El comportamiento es indefinido si el recuento esperado para la fase actual es cero.

Contenidos

Parámetros

(ninguno)

Valor de retorno

(ninguno)

Excepciones

Lanza std::system_error con un código de error permitido para tipos de mutex en caso de error.

Notas

Esta función puede hacer que comience el paso de finalización para la fase actual.

Si el recuento esperado actual es cero antes de llamar a esta función, el recuento esperado inicial para todas las fases posteriores también es cero, lo que significa que la barrier no se puede reutilizar.

Ejemplo