linux執行緒 sysconf系統變數

2021-09-20 19:29:43 字數 2417 閱讀 7262

使用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....