Espacios de nombres
Variantes
Acciones

std::stop_callback<Callback>::~stop_callback

De cppreference.com
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
Exclusión mutua
Gestión genérica de bloqueo
(C++11)
(C++11)
(C++11)
(C++11)
Variables de condición
(C++11)
Semáforos
Pestillos y barreras
(C++20)
(C++20)
Futuros
(C++11)
(C++11)
(C++11)
Recuperación segura
Punteros de riesgo
Tipos atómicos
(C++11)
(C++20)
Inicialización de tipos atómicos
(C++11)(en desuso en C++20)
(C++11)(en desuso en C++20)
Orden de memoria
Funciones independientes para operaciones atómicas
Funciones independientes para indicadores atómicos
 
 
~stop_callback();
(desde C++20)

Destruye el objeto stop_callback.

Si *this tiene un stop_token con un estado de detención asociado, cancela el registro de la devolución de llamada de él.

Si la función de devolución de llamada se invoca simultáneamente en otro hilo/subproceso, el destructor no se completa hasta que se complete la invocación de la función de devolución de llamada. Si la función de devolución de llamada se invoca en el mismo hilo/subproceso en el que se invoca el destructor, el destructor regresa sin esperar a que se complete la invocación de devolución de llamada (ver Notas).

[editar]Notas

El destructor de stop_callback está diseñado para evitar condiciones de carrera y bloqueos. Si otro hilo/subproceso está invocando actualmente la devolución de llamada, entonces el destructor no puede regresar hasta que se complete, o de lo contrario, el objeto función podría potencialmente destruirse mientras se está ejecutando. No es necesario que la función de devolución de llamada no se pueda copiar ni mover; vive en el objeto stop_callback incluso después de registrarse.

Por otro lado, si el hilo/subproceso actual que invoca al destructor es el mismo hilo que está invocando la devolución de llamada, entonces el destructor no puede esperar o de lo contrario se produciría un bloqueo. Es posible y válido que el mismo hilo destruya el stop_callback mientras invoca su función de devolución de llamada, porque la función de devolución de llamada podría destruir por sí misma el stop_callback, directa o indirectamente.

close