2015-03-25 61 views
-4

某些函數將指針指向struct作爲參數,例如,以pthread_create爲例,第四個參數是指向您希望線程使用的數據的指針,但是如果我在線程函數使用之前刪除了該結構數據? 我應該保留數據刪除,直到線程函數使用它或刪除它沒有任何考慮?將指針傳遞給struct作爲參數

回答

0

您將需要保持結構「活着」在它使用的時間。如果您在訪問結構之前刪除了該結構,那麼在訪問該結構時它是未定義的行爲,因爲該內存地址上可能存在一些完全不同的數據。

對於在pthread_create(),你可以在這裏看到一個例子:http://man7.org/linux/man-pages/man3/pthread_create.3.html

在那個例子中,你可以看到,他們呼籲create_thread和自由加入它的線程前後分配TINFO。