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