1

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

线程正在完成(顶级函数正在返回),只是没有被pthread_join编辑。

4

1 回答 1

4

POSIX 手册说pthread_create可以返回EAGAIN

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

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

于 2012-06-03T20:04:46.057 回答