线程泄漏的症状

时间:2012-06-03 20:01:36

标签: c++ c multithreading pthreads memory-leaks

我有一个不调用pthread_join并且有O(时间运行)线程的C ++应用程序。我的问题是 - 这将如何影响服务器任务的健康状况? C ++任务在崩溃或无法启动新线程之前是否有固定数量的线程?这会在pthread_create中显示为错误代码吗?它只是泄漏内存还是会减慢其余应用程序的处理时间?

线程正在完成(顶级函数正在返回),而不是pthread_join'。

1 个答案:

答案 0 :(得分:4)

POSIX手册说pthread_create可以返回EAGAIN

  

系统缺少创建另一个线程所需的资源,或者   系统对进程中线程总数的限制   <PTHREAD_THREADS_MAX}将超出

一个简单的解决方法是使用pthread_detach或使用属性和pthread_attr_setdetachstate标记分离的线程。然后,当他们死亡时,他们只是被收集。