Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1467118
  • 博文数量: 842
  • 博客积分: 12411
  • 博客等级: 上将
  • 技术积分: 5772
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-14 14:43
文章分类

全部博文(842)

文章存档

2013年(157)

2012年(685)

分类: 系统运维

2012-05-14 14:32:55



我们在2.5.4节讨论过sysconf函数。SUS定义了和线程操作相同的几种限制,我们并没有在第2章的表里显示。和其它系统限量一样,线程限量可以用sysconf查询。下表总结了这些限量。


线程限量和sysconf的名字参数
限量名描述名字参数
PTHREAD_
DESTRUCTOR_ITERATIONS
当一个线程退出时一个实现将尝试销毁线程相关数据的最大次数。_SC_THREAD_
DESTRUCTOR_ITERATIONS
PTHREAD_
KEYS_MAX
一个进程可以创建的关键字的最大数量。_SC_THREAD_
KEYS_MAX
PTHREAD_
STACK_MIN
可以作为一个线程栈的最少字节数。_SC_THREAD_
STACK_MIN
PTHREAD_
THREADS_MAX
一个进程可以创建的最大线程数_SC_THREAD_
THREADS_MAX


和sysconf报告的其它限量一样,这些限量的使用用于促进应用在不同操作系统实现的可移植性。例如,如果你的应用要求你为你管理的每个文件创建四个线程,那么你可能必须你可以并发管理的文件数,如果系统不让你创建足够的线程。


下 表展示了本文四个实现的线程限量值。当实现没有定义对于的sysconf符号(以_SC_开头)时,“无符号”被列出。如果实现的限量不确定,“无限制” 被列出。尽管如此,这并不表示这个值没有限制。一个“不支持”的项表示实现定义了对应的sysconf限量符号,但是sysconf函数不识别它。


线程配置限量的例子
限量FreeBSD 5.2.1Linux 2.4.22Mac OS X 10.3Solaris 9
PTHREAD_DESTRUCTOR_INTERATIONS无符号不支持无符号无限制
PTHREAD_KEYS_MAX无符号不支持无符号无限制
PTHREAD_STACK_MIN无符号不支持无符号4096
PTHREAD_THREADS_MAX无符号不支持无符号无限制

注意尽管一个实现可能不提供这些限量的访问,但是那不表示限量不存在。它只表示实现不提供给我们用sysconf得到它们的方法。


阅读(432) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~