⑴ c/c++ linux c 多線程 pthread_detach(id); phthread_join(id,0);
有區別。
只用1可以。同時使用1,2是不可以的。
一般情況下,線程終止後,其終止狀態一直會保留到其他線程調用pthread_join獲取它的狀態為止。但是線程也可以設置為detach狀態,這樣的線程一旦終止就立即回收它佔用的所有資源,而不保留終止狀態。
注意:
不能對已經detach狀態的線程調用pthread_join。
對一個尚未detach的線程調用phread_join或phread_detach都可以把該線程設置為datach,也就是說,不能對同一線程調用兩次pthread_join,或者如果已經對一個線程調用了pthread_detach就不能再調用pthread_join了。
phtread_join是阻塞式的,需要等待這個線程終止,而phread_datach是不阻塞的,所以可以用phread_datach來銷毀終止線程