pthread_create() 返回 11

通過反覆的 pthread_create() --->   pthread_exit (0)   一段時間後,會導致pthread_create() 失敗,返回11

google後,發現,單純地調用 pthread_exit (0) 可能導致資源釋放不完全或者來不及釋放,運行一段時間後,達到系統上限。


解決方法:

1. 主線程這裏創建完子線程後,把子線程分離出來,線程運行結束後,讓系統自動回收資源

pthread_detach(thread_id)(非阻塞,可立即返回)


2. 或者在線程函數開頭,分離自己

pthread_detach(pthread_self())


附上百度百科:pthread_detach()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章