使用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這個常量值進行了比較。
Linux系統呼叫sysconf
1 sysconf背景 現在的計算機一般都是多核的,linux2.6提供了程序繫結cpu功能,將程序指定到某個core上執行,方便管理程序。linux提供了系統呼叫sysconf來獲取cpu的個數和當前可用的cpu個數。2 sysconf函式簡介 包含標頭檔案unistd.h即可直接呼叫,原型為 l...
Linux 系統呼叫sysconf
1 前言 當前計算機都是多核的,linux2.6提供了程序繫結cpu功能,將程序指定到某個core上執行,方便管理程序。linux提供了sysconf系統呼叫可以獲取系統的cpu個數和可用的cpu個數。2 sysconf 函式 man一下sysconf,解釋這個函式用來獲取系統執行的配置資訊。例如頁...
VirtualBox安裝linux作業系統
1.應用場景 有時,物理機並不能用於安裝linux作業系統,因為你還需要在windows進行一些日常操作,或者硬碟上存了很多東西,怕有個閃失,得不償失,可是又想領略linux的魅力,或者說就是想敲幾個linux命令找找感覺,最簡單的方式就是安裝虛擬機器 好處 簡單,方便,成本低 2.環境 tbd3....