前几天写个多线程的程序,主要是从文件读数据,然后分线程发送,本来想在线程里用pthread_detach()分离线程,但是我想要线程执行结果,所以不得不放弃pthread_detach()。在线程结束的时候用pthread_exit(),发完文件用ptrehad_join()取返回值。结果竟然发现:起到300多个线程的时候就出现can't allocate memory,这可郁闷死我了,找了半天资料,后来看到一篇文章,是说linux上的pthread_exit()不回收线程资源,只能用pthread_join()来回收,郁闷啊……最后只得在起到一定数量的线程后回收一遍资源。又学了一招了……