前幾天寫個多線程的程序,主要是從文件讀數據,然后分線程發送,本來想在線程里用pthread_detach()分離線程,但是我想要線程執行結果,所以不得不放棄pthread_detach()。在線程結束的時候用pthread_exit(),發完文件用ptrehad_join()取返回值。結果竟然發現:起到300多個線程的時候就出現can't allocate memory,這可郁悶死我了,找了半天資料,后來看到一篇文章,是說linux上的pthread_exit()不回收線程資源,只能用pthread_join()來回收,郁悶啊……最后只得在起到一定數量的線程后回收一遍資源。又學了一招了……