Em algum momento eu tenho que usar std::thread
para acelerar meu aplicativo. Eu também sei join()
espera até que um segmento seja concluído. Isso é fácil de entender, mas qual é a diferença entre ligar detach()
e não ligar?
Eu pensei que detach()
, sem , o método do thread funcionará usando um thread de forma independente.
Não desanexando:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called without detach");
});
//some code here
}
Ligando com desanexação:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called with detach");
});
t.detach();
//some code here
}
std
e boost
tópicos têm detach
e join
modelados de perto depois de threads POSIX.