Bazen std::threadbaşvurumu hızlandırmak için kullanmalıyım . Ayrıca join()bir iş parçacığı tamamlanana kadar beklediğini biliyorum . Bunu anlamak kolaydır, ancak çağırmak detach()ve çağırmamak arasındaki fark nedir?
Ben olmadan detach(), iplik yöntemi bağımsız olarak bir iplik kullanarak çalışacağını düşündüm .
Sökülmüyor:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called without detach");
});
//some code here
}
Ayırma ile arama:
void Someclass::Somefunction() {
//...
std::thread t([ ] {
printf("thread called with detach");
});
t.detach();
//some code here
}
stdve boostipler gelmiş detachve joinPOSIX evreleri sonra yakından modellenmiştir.