专栏首页米扑专栏linux线程-sysconf系统变量

linux线程-sysconf系统变量

了解系统的线程资源限制是使得应用程序恰当地管理它们的关键。前面已经讨论了利用系统资源的示例。当设置线程的栈大小时,最小值为PTHREAD_MIN_STACK。栈大小不应当低于由pthread_attr_getstacksize( )返回的默认栈大小的最小值。每个进程的最大线程数决定了能够为每个进程创建的worker线程的上限。函数sysconf( )用于返回可配置系统限制或选项的当前值。系统中定义了同线程、进程和信号量相关的多个变量和常量。在表6-8中,列出了部分变量和常量。

变    量

名字值(Name Value)

描    述

_SC_THREADS

_POSIX_THREADS

支持线程

_SC_THREAD_ATTR_STACKADDR

_POSIX_THREAD_ATTR_STACKADDR

支持线程栈地址属性

_SC_THREAD_ATTR_STACKSIZE

_POSIX_THREAD_ATTR_STACKSIZE

支持线程栈大小属性

_SC_THREAD_STACK_MIN

PTHREAD_STACK_MIN

线程栈存储区的最小大小,以字节为单位

_SC_THREAD_THREADS_MAX

PTHREAD_THREADS_MAX

每个进程的最大线程数

_SC_THREAD_KEYS_MAX

PTHREAD_KEYS_MAX

每个进程关键字的最大数目

_SC_THREAD_PRIO_INHERIT

_POSIX_THREAD_PRIO_INHERIT

支持优先级继承选项

_SC_THREAD_PRIO

_POSIX_THREAD_PRIO_

支持线程优先级选项

_SC_THREAD_PRIORITY_SCHEDULING

_POSIX_THREAD_PRIORITY_SCHEDULING

支持线程优先级调度选项

_SC_THREAD_PROCESS_SHARED

_POSIX_THREAD_PROCESS_SHARED

支持进程共享同步

_SC_THREAD_SAFE_FUNCTIONS

_POSIX_THREAD_SAFE_FUNCTIONS

支持线程安全函数

_SC_THREAD_DESTRUCTOR_ITERATIONS

_PTHREAD_THREAD_DESTRUCTOR_ITERATIONS

决定在线程退出时尝试销毁线程特定数据的尝试次数

_SC_CHILD_MAX

CHILD_MAX

每个UID允许的最大进程数目

_SC_PRIORITY_SCHEDULING

_POSIX_PRIORITY_SCHEDULING

支持进程调度

_SC_REALTIME_SIGNALS

_POSIX_REALTIME_SIGNALS

支持实时信号

_SC_XOPEN_REALTIME_THREADS

_XOPEN_REALTIME_THREADS

支持X/Open POSIX实时线程特性组

_SC_STREAM_MAX

STREAM_MAX

决定进程能够打开的流的数目

_SC_SEMAPHORES

_POSIX_SEMAPHORES

支持信号量

_SC_SEM_NSEMS_MAX

SEM_NSEMS_MAX

决定线程能够拥有的信号量的最大数目

_SC_SEM_VALUE_MAX

SEM_VALUE_MAX

决定信号量的最大值

_SC_SHARED_MEMORY_OBJECTS

_POSIX_SHARED_MEMORY_OBJECTS

支持共享内存对象

下面是调用sysconf( )的示例:

  1. if(PTHREAD_STACK_MIN == (sysconf(_SC_THREAD_STACK_MIN))){  
  2.    //...  

参考网址:

http://deepfuture.javaeye.com/category/120753?page=4&show_full=true

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android APK反编译详解(附图)

    这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。

    阳光岛主
  • Android Animations动画使用详解

    Android的animation由四种类型组成:alpha、scale、translate、rotate

    阳光岛主
  • Eclipse Kepler 4.3 正式版发布

    摘要:代号为Kepler的Eclipse 4.3正式版的下载已经出现在Eclipse官方的首页上,该版本支持开发Java EE 7应用、提供完整的商业过程管理B...

    阳光岛主
  • 【DB笔试面试499】ORA_ROWSCN函数的作用是什么?

    对于每一行数据,ORA_ROWSCN返回每一行最近被修改的大概时间,可用于查询表最后一次被执行DML操作的时间。由于Oracle通过事务提交对行所在数据块来进行...

    小麦苗DBA宝典
  • ​JMM中的final关键字解析

    与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则:

    Java技术江湖
  • 深入理解Java内存模型(六)——final

    小小明童鞋
  • linux学习之sed命令总结

    sed工具的使用 grep工具的功能其实还不够强大,grep实现的只是查找功能,而它却不能实现把查找的内容替换掉。以前用vim的时候,可以查找也可以替换,但是只...

    汤高
  • 谈谈网络通信服务器的结构应该如何设计

    虽然你在线程池的用途上有些混乱,epoll 和 线程池没多大关系,但是这个问题其实蛮不错的,所以详细说一下希望给有需要的读者解决部分疑惑。

    范蠡
  • 剑指offer_9_二进制中1的个数

    描述:输入一个整数 判断这个整数的二进制中有多少个1,要考虑输入的是负数 所以不能把输入的数往右移动。

    用户6055494
  • 一日一技:在Python里进行排列组合

    在一些比较简单的面试题中,可能需要你对给定的一些字符串或者数字遍历他们的所有排列组合。例如:

    青南

扫码关注云+社区

领取腾讯云代金券