Десь мені доведеться скористатися, 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.