std::packaged_task::operator()
De cppreference.com
< cpp | thread | packaged task
void operator()( ArgTypes... args ); |
(desde C++11) | |
Llama a la tarea almacenada con args
como argumentos. El valor de retorno de la tarea o cualquier excepción lanzada se almacena en el estado compartido. El estado compartido está listo y todos los hilos que están esperando se desbloquean.
Contenido |
[editar] Parámetros
args | - | Los parámetros a pasar cuando se invoque la tarea almacenada. |
[editar] Valor de retorno
(Ninguno)
[editar] Excepciones
std::future_error en las siguientes condiciones de error:
- La tarea almacenada ya se ha invocado. La categoría de error se establece a promise_already_satisfied.
- *this no tiene un estado compartido. La categoría de error se establece a no_state.
[editar] Ejemplo
Esta sección está incompleta Razón: sin ejemplo |
[editar] Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
---|---|---|---|
LWG 2142 | C++11 | Una llamada exitosa a operator() se sincroniza con una llamada acualquier función miembro de un objeto std::future o std::shared_future que comparta su estado compartido con *this. |
No hay garantías adicionales de sincronización que no sean las que ya proporciona el estado compartido. |
[editar] Véase también
Ejecuta la función asegurándose de que el resultado esté listo solo una vez que el hilo actual termine. (función miembro pública) |