std::stop_source
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) | |
Destruye el objeto stop_source (función miembro pública) | |
Asigna el objeto stop_source (función miembro pública) | |
Modificadores | |
Genera una solicitud de detención al estado de detención asociado, si es que lo hay (función miembro pública) | |
Intercambia dos objetos stop_source (función miembro pública) | |
Observadores | |
Devuelve un stop_token para el estado de detención asociado (función miembro pública) | |
Comprueba si al estado de detención asociado se le ha solicitado que se detenga (función miembro pública) | |
Comprueba si al estado de detención asociado se le puede solicitar que se detenga (función miembro pública) |
[editar] Funciones no miembro
Compara dos objetos std::stop_source (función) | |
(C++20) |
Especializa el algoritmo std::swap (función) |
[editar] Constantes auxiliares
(C++20) |
Una instancia de std::nostopstate_t para ser usada en el constructor stop_source (constante) |
[editar] Clases auxiliares
(C++20) |
Tipo marcador de posición para ser usado en el constructor de stop_source (clase) |
[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
Esta sección está incompleta Razón: sin ejemplo |