Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / 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_MINPTHREAD_STACK_MIN线程栈存储区的最小大小,以字节为单位
_SC_THREAD_THREADS_MAXPTHREAD_THREADS_MAX每个进程的最大线程数
_SC_THREAD_KEYS_MAXPTHREAD_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_MAXCHILD_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_MAXSTREAM_MAX决定进程能够打开的流的数目
_SC_SEMAPHORES_POSIX_SEMAPHORES支持信号量
_SC_SEM_NSEMS_MAXSEM_NSEMS_MAX决定线程能够拥有的信号量的最大数目
_SC_SEM_VALUE_MAXSEM_VALUE_MAX决定信号量的最大值
_SC_SHARED_MEMORY_OBJECTS_POSIX_SHARED_MEMORY_OBJECTS支持共享内存对象
下面是调用sysconf( )的示例:
  1. if(PTHREAD_STACK_MIN == (sysconf(_SC_THREAD_STACK_MIN))){  
  2.    //...  
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/107302.htm