Cómo obtener el ID del hilo en impulso
Se ha creado un objeto de hilo como boost::thread* pthread = new boost::thread(...);
Quiero obtener la identificación del objeto de hilo,
Igual que el valor de retorno de la función Win32 GetCurrentThreadId.
Después de leer la documentación, descubrí que pthread-gt;get_id() puede devolver un objeto de tipo boost::thread::id
Pero no hay forma de imprimirlo. el hilo en esta identificación de objeto, ¿alguien sabe qué hacer?
La ventana de depuración puede ver el valor de la identificación del hilo, pero no se puede convertir a un valor int
El método Native_handle() puede
impulsar: : clase thread Los miembros nativo_handle_type y Native_handle proporcionan acceso al identificador nativo subyacente.
Este identificador local se puede utilizar para cambiar la programación, etc.
11
XML a PDF mediante RenderX XEP XSL-FO Formatter, visítenos en
Thread
En términos generales, es No es seguro utilizar identificadores para operaciones que puedan entrar en conflicto con las operaciones proporcionadas por Boost.Thread.
Un ejemplo de uso inapropiado es desconectar el hilo directamente, ya que no cambia la estructura interna de la instancia boost::thread, así que por ejemplo
La función unible continuará para devolver verdadero, mientras que el hilo local ya no se puede unir.
hilo t(fct);
thread::native_handle_type hnd=t.native_handle();
pthread_detach(hnd);
assert(t.joinable());
La función Unible seguirá devolviendo verdadero y el hilo local ya no podrá unirse.