函数sysconf( )用于返回可配置系统限制或选项的当前值。系统中定义了同线程、进程和信号量相关的多个变量和常量。下面列出了部分变量和常量。
变 量 |
名字值(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( )的示例:
if(PTHREAD_STACK_MIN == (sysconf(_SC_THREAD_STACK_MIN))){ //... }