Namespaces
Variants

std::experimental::flex_barrier:: arrive_and_drop

From cppreference.net
void arrive_and_drop ( ) ;
(TS de concurrencia)

Llega al punto de sincronización de la flex_barrier y elimina el hilo actual del conjunto de hilos participantes. No está especificado si esta función se bloquea hasta que la fase de finalización haya terminado. Si la función se bloquea, el hilo que llama puede ser elegido para ejecutar la fase de finalización.

El comportamiento es indefinido si el hilo que realiza la llamada no está en el conjunto de hilos participantes de esta flex_barrier .

Las llamadas a arrive_and_drop se sincronizan con el inicio de la fase de completado de la flex_barrier . Si la llamada se bloquea, entonces la finalización de la fase de completado se sincroniza con el retorno de la llamada.

Las llamadas a arrive_and_drop y arrive_and_wait nunca introducen carreras de datos consigo mismas o entre sí.

Excepciones

No lanza nada.

Notas

La fase de finalización se ejecutará incluso si cada hilo participante llama a arrive_and_drop .

Después de que un hilo llama a arrive_and_drop en un flex_barrier , no puede llamar a ninguna función miembro en esa barrera excepto al destructor, incluso si el objeto de función invocado por la fase de finalización devuelve un valor positivo.

Véase también

llegar al punto de sincronización y bloquear
(función miembro pública)