我正在尝试一个关于在linux系统上使用pthreads的线程同步的简单程序。我的程序的来源可以在http://pastebin.com/5EWS68NL找到。线程同步 - 一个进程的最大线程数
程序本质上必须按升序打印数字1以LIMIT(任意数字)。分配一个线程来打印每个数字,等待它的条件变量被发信号,并打印数字。
该程序工作正常,直到LIMIT = 380。更重要的是,该程序挂起。也就是说,我不认为pthread_create()会返回一个错误,因为我试图打印错误号,并且在发生错误时也包含fflush(stdout)。
系统的最大线程数可以在/ proc/sys/kernel/threads-max中指定。我确实试图将它增加到一个任意的大数目,但没有成功。该程序明显挂起,如果线程数约为380.
任何想法,为什么这可能是这种情况?这个值'380'在不同的系统中会有所不同吗?
感谢和问候,
Hrishikesh穆拉利
哦,好的。我会尝试并回来。 :-) –