【发布时间】:2011-11-26 17:33:39
【问题描述】:
首先:对不起我的英语。 伙计们,我在使用 POSIX 套接字和/或 pthread 时遇到了麻烦。我正在嵌入式设备(ARM9 CPU)上开发。在设备上将工作多线程 tcp 服务器。它将能够处理大量传入连接。服务器从客户端获取连接并增加计数器变量(无符号整数计数器)。客户端例程将在单独的线程中运行。所有客户端都将使用 1 个单例类实例(在此类中将打开和关闭相同的文件)。客户端处理文件,然后客户端线程关闭连接套接字,并调用 pthread_exit()。 所以,我的 tcp 服务器不能处理超过 250 个线程(计数器 = 249 +1(服务器线程)。我得到“资源暂时不可用”。有什么问题?
【问题讨论】:
-
检查
ulimit看看有什么限制,我猜你可能已经达到了。 -
我查了一下,ulimit说我可以使用900+(可能是994)线程。
-
顺便说一句,您的意思是 250 个并发线程(或者其中一些线程已经终止)?
标签: c++ linux multithreading sockets posix