Kadang-kadang saya harus menggunakan std::threaduntuk mempercepat aplikasi saya. Saya juga tahu join()menunggu sampai utas selesai. Ini mudah dimengerti, tetapi apa perbedaan antara menelepon detach()dan tidak menelepon?
Saya pikir tanpa detach(), metode utas akan bekerja menggunakan utas secara mandiri.
Tidak melepaskan:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called without detach");
});
//some code here
}
Memanggil dengan melepaskan:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called with detach");
});
t.detach();
//some code here
}