[英]Determine if argument in pthread_create from main thread is NULL in C
[英]can pthread_create argument be modified by thread?
我可以將struct作為線程參數傳遞到pthread_create中。
但是是否可以在線程中修改此結構,以便在線程終止時,主程序可以訪問此結構以獲得修改后的數據? 如果是這樣,我是否需要將該結構強制轉換回線程中的空白?
是的-假設線程函數是通過指針傳遞給結構的,則可以修改其指向的結構。
否-無需將結構強制轉換回線程中的空; 確實,我不太確定您的想法,但是沒有必要。 線程函數獲取一個void *
參數。 它將struct whatever *
轉換為struct whatever *
; 然后可以引用它。
只要確保如果有任何其他線程可以修改結構,那么您就可以正確地協調更改。
是的,有可能,只是在線程完成之前不要觸摸數據。 至少不是沒有保護。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.