在2.5.4节中讨论了sysconf
函数。Single UNIX Specification定义了与线程操作有关的一些限制,图2-11并没有列出这些限制。与其他的系统限制一样,这些限制也可以通过sysconf
函数进行查询。图12-1总结了这些限制。
图12-1 线程限制和sysconf的name参数
与 sysconf
报告的其他限制一样,这些限制的使用是为了增强应用程序在不同的操作系统实现之间的可移植性。例如,如果应用程序需要为它管理的每个文件创建4个线程,但是系统却并不允许创建所有这些线程,这时可能就必须限制当前可并发管理的文件数。
图12-2给出了本书描述的4种操作系统实现中线程限制的值。如果操作系统实现的限制是不确定的,列出的值就是“没有确定的限制”(no limit)。但这并不意味着值是无限制的。
图12-2 线程配置限制的实例
注意,虽然某个操作系统实现可能没有提供访问这些限制的方法,但这并不意味着这些限制不存在,这只是意味着操作系统实现没有为使用
sysconf
访问这些值提供可用的方法。