linux下多线程的问题

shmylm4201 2017-11-08 11:11:32
首先我使用如下的方式查看单进程下的最大线程数是64
cat /usr/include/bits/local_lim.h


/* The number of threads per process. */
#define _POSIX_THREAD_THREADS_MAX 64
/* We have no predefined limit on the number of thre ads. */
#undef PTHREAD_THREADS_MAX


但是我实际写一个小的测试程序 不断的创建线程,最大可以创建32757个线程,不是应该只能创建64个吗?
这个具体该怎么理解,希望有人解惑,谢谢!
...全文
222 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xuxuyayaya23 2017-11-09
引用 2楼勤奋的沉沦 的回复:
注意这段注释: /* We have no predefined limit on the number of threads. */ 另外,Linux的线程数有限制: 1. 操作系统内核支持的数量; 2. 每一个线程都是要占用内存的,一个进程占用的内存通常是有限制的。 可以通过ulimit -a查看。 3. 系统总内存是有限制的。
奔驰
  • 打赏
  • 举报
回复
勤奋的沉沦 2017-11-08
注意这段注释: /* We have no predefined limit on the number of threads. */ 另外,Linux的线程数有限制: 1. 操作系统内核支持的数量; 2. 每一个线程都是要占用内存的,一个进程占用的内存通常是有限制的。 可以通过ulimit -a查看。 3. 系统总内存是有限制的。
  • 打赏
  • 举报
回复
小竹z 2017-11-08
我的理解是,_POSIX_THREAD_THREADS_MAX这个宏是posix标准要求定义的,但是这个宏并没有在linux系统中有效,一般创建的线程数据跟系统可用的内存有关
  • 打赏
  • 举报
回复
相关推荐
发帖
Linux/Unix社区
加入

2.1w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2017-11-08 11:11
社区公告
暂无公告