通過反覆的 pthread_create() ---> pthread_exit (0) 一段時間後,會導致pthread_create() 失敗,返回11
google後,發現,單純地調用 pthread_exit (0) 可能導致資源釋放不完全或者來不及釋放,運行一段時間後,達到系統上限。
解決方法:
1. 主線程這裏創建完子線程後,把子線程分離出來,線程運行結束後,讓系統自動回收資源
pthread_detach(thread_id)(非阻塞,可立即返回)
2. 或者在線程函數開頭,分離自己
pthread_detach(pthread_self())
附上百度百科:pthread_detach()