12.2 线程限制


我们已经在2.5.4节中讨论了函数sysconf,The Single Unix Specification定义了与线程操作相关的几个限制。与其他系统限制一样,线程限制也可以使用函数sysconf进行查询,图12.1总结了这些限制.
与其他使用sysconf获取到的系统限制一样,这些限制的应用是为了促进应用程序在不同操作系统实现上的可移植性,比如说,如果你的应用程序需要你为你所管理的每个文件创建4个线程,如果系统并不能让你创建无限多的线程,那么你就需要限制你能够同时管理的文件数量。

限制名称描述名称参数
PTHREAD_DESTRUCTOR_ITERATIONS在线程退出时实现尝试释放线程私有数据的最大尝试次数(12.6节)_SC_THREAD_DESTRUCTOR_ITERATIONS
PTHREAD_KEYS_MAXmaximum number of keys that can be created by a process(12.6节)_SC_THREAD_KEYS_MAX
PTHREAD_STACK_MINminimum number of bytes that can be used for a thread’s stack(12.3节)_SC_THREAD_STACK_MIN
PTHREAD_THREADS_MAXmaximum number of threads that can be created in a process(12.3节)_SC_THREAD_THREADS_MAX

图12.1 线程限制以及sysconf使用的名称参数
图12.2显示了本书描述的四个平台上的线程限制。如果实现的限制并不明确,列表中采用”no list”进行标注,然而,这并不意味该数值是无限的。

注意虽然实现可能并没有提供对这些资源限制的访问,但是并不表示限制不存在,这只是说明实现没有提供使用sysconf函数获取线程资源限制的方法。

限制FreeBSD 8.0Linux 3.2.0Mac OS X 10.6.8Solaris 10
PTHREAD_DESTRUCTOR_ITERATIONS444no limit
PTHREAD_KEYS_MAX2561024512no limit
PTHREAD_STACK_MIN20481638481928192
PTHREAD_THREADS_MAXno limitno limitno limitno limit





转载于:https://www.cnblogs.com/U201013687/p/5602347.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值