linux线程-sysconf系统变量
使用sysconf( )
了解系統的線程資源限制是使得應用程序恰當地管理它們的關鍵。前面已經討論了利用系統資源的示例。當設置線程的棧大小時,最小值為PTHREAD_MIN_STACK。棧大小不應當低于由pthread_attr_getstacksize( )返回的默認棧大小的最小值。每個進程的最大線程數決定了能夠為每個進程創建的worker線程的上限。函數sysconf( )用于返回可配置系統限制或選項的當前值。系統中定義了同線程、進程和信號量相關的多個變量和常量。在表6-8中,列出了部分變量和常量。
表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
線程棧存儲區的
最小大小,以字節為單位
?
(續表)
變
量
名字值(Name Value)
描
述
_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))){? ???//...?? }
代碼中將sysconf( )返回的_SC_THREAD_STACK_MIN的值同PTHREAD_STACK_MIN這個常量值進行了比較。
轉載于:https://blog.51cto.com/liying/967687
總結
以上是生活随笔為你收集整理的linux线程-sysconf系统变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 太网设计FAQ:以太网MAC和PHY
- 下一篇: linux源码包编译安装与rpm安装方法