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
মডেল হয়েছে।