Kadang-kadang saya harus menggunakan std::thread
untuk 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
}