บางครั้งฉันต้องใช้std::thread
เพื่อเร่งความเร็วการสมัครของฉัน ฉันก็รู้เช่นกันjoin()
รอจนกว่าเธรดจะเสร็จสมบูรณ์ สิ่งนี้ง่ายต่อการเข้าใจ แต่ความแตกต่างระหว่างการโทรdetach()
และไม่เรียกมันคืออะไร
ฉันคิดว่าไม่มีdetach()
วิธีของเธรดจะทำงานโดยใช้เธรดอย่างอิสระ
ไม่ถอด:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called without detach");
});
//some code here
}
การโทรด้วยการถอดออก:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called with detach");
});
t.detach();
//some code here
}
std
และboost
เธรดมีdetach
และjoin
ทำโมเดลอย่างใกล้ชิดหลังจากเธรด POSIX