2012-11-18 74 views
-1

我的問題是如果它有可能使用不同的線程刪除線程的屬性。就像在線程的函數內使用pthread_attr_destroy()方法來銷燬另一個線程的屬性,然後刪除它。銷燬來自不同線程的線程屬性

P.S在此先感謝

回答

0

你有某種誤解。 pthread_attr_destroy函數本身破壞屬性對象(pthread_attr_t),而不是線程的屬性。屬性對象用於在創建線程時指定線程的屬性,但是一旦線程具有某些屬性,這些屬性就是線程的屬性,而不是屬性對象。

+0

也許我沒有設置我的問題非常清楚。我有這個程序製作兩個線程,每個人有兩個不同的屬性。 無效* FirstThread(無效* ARG){ } 無效* SecondThread(無效* ARG){ } INT主(INT的argc,字符* argv的[]){ INT RC; pthead_t thread1,thread2; pthread_attr_t&attR1位,&attr2; pthread_attr_init(&pta1); pthread_attr_init(&pta2); 在pthread_create(線程1,&attR1位,FirstThread,NULL); 在pthread_create(線程2,&attR2位,SecondThread,NULL); } 有一種方法以從SecondThread破壞attR1位? – Izanagi

+0

是的,調用'pthread_attr_destroy',你可以從任何線程中調用這些函數,這並不重要,但是爲什麼你不需要在調用'pthread_create'後立即調用'pthread_attr_destroy'? –

+0

我正要做的項目會發現一些「惡意」的線程,可以找到一個隨機線程並破壞它的屬性 – Izanagi