歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> 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_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.    //...  

Copyright © Linux教程網 All Rights Reserved