Espacios de nombres
Variantes
Acciones

std::stop_source

De cppreference.com
< cpp‎ | thread
 
 
Biblioteca de apoyo de concurrencia
Hilos
(C++11)
(C++20)
Espacio de nombres this_thread
(C++11)
(C++11)
(C++11)
Cancelación cooperativa
(C++20)
stop_source
(C++20)
Exclusión mutua
(C++11)
Gestión genérica de bloqueo
(C++11)
(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)
(C++11)
Recuperación segura
(C++26)
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
 
 
Definido en el archivo de encabezado <stop_token>
class stop_source;
(desde C++20)

La clase stop_source proporciona los medios para emitir una solicitud de detención, como para la cancelación de un std::jthread. Una solicitud de detención realizada para un objeto stop_source es visible para todos los stop_source y std::stop_token del mismo estado de detención asociado; cualquier std::stop_callback registrado para los std::stop_token asociados se invocarán, y cualquier objeto std::condition_variable_any en espera de los std::stop_token asociados se despertarán.

Una vez que se solicita una detención, no se puede retirar. Las solicitudes de detención adicionales no tienen ningún efecto.

Contenido

[editar] Funciones miembro

Construye un nuevo objeto stop_source
(función miembro pública) [editar]
Destruye el objeto stop_source
(función miembro pública) [editar]
Asigna el objeto stop_source
(función miembro pública) [editar]
Modificadores
Genera una solicitud de detención al estado de detención asociado, si es que lo hay
(función miembro pública) [editar]
Intercambia dos objetos stop_source
(función miembro pública) [editar]
Observadores
Devuelve un stop_token para el estado de detención asociado
(función miembro pública) [editar]
Comprueba si al estado de detención asociado se le ha solicitado que se detenga
(función miembro pública) [editar]
Comprueba si al estado de detención asociado se le puede solicitar que se detenga
(función miembro pública) [editar]

[editar] Funciones no miembro

Compara dos objetos std::stop_source
(función) [editar]
Especializa el algoritmo std::swap
(función) [editar]

[editar] Constantes auxiliares

Una instancia de std::nostopstate_t para ser usada en el constructor stop_source
(constante) [editar]

[editar] Clases auxiliares

Tipo marcador de posición para ser usado en el constructor de stop_source
(clase) [editar]

[editar] Notas

Para los propósitos de la cancelación de std::jthread, el objeto stop_source debe obtenerse del objeto std::jthread usando get_stop_source(), o la detención deberá solicitarse directamente del objeto std::jthread usando request_stop(). Esto luego usará el mismo estado de detención asociado que se pasó al argumento de función invocada del std::jthread es decir, la función que se está ejecutando en su hilo.

Sin embargo, para otros usos, se puede construir un stop_source por separado usando el constructor por defecto, que crea un nuevo estado de detención.

[editar] Ejemplo