linux 作業系統 pthread 多執行緒庫

2021-09-26 05:16:25 字數 1704 閱讀 6188

#include #include //posix標準的unix標準介面

#include pthread_t tid1; //執行緒id

pthread_t tid2;

void *fun1() //執行緒函式

void *fun2() //執行緒函式

int main()

// gcc test.c -o test -lpthread

// ./test

1、檢視 linux 系統預設設定

(1)用來檢視系統當前使用者程序的各種設定。

ulimit -a
(2)max user processer—— 設定每個使用者的最大程序數量

ulimit -u 7864

ulimit -u 10240

(3)open file—— 設定每個程序可以開啟的最大檔案數目,核心可以同時開啟的檔案描述符的最大值

ulimit -n 4096
(4)stack size—— 臨時改變棧空間大小

ulimit -s 8192     #即8m。
32位linux下的程序使用者空間是3g,即3072m, 3072 m/8m=384個。

1、互斥量(mutex)

(1)建立、初始化

#include pthread_mutex_t mutex;

pthread_mutex_init(&mutex, 0);

(2)加鎖、解鎖

pthread_mutex_lock(&mutex);     //申請鎖

pthread_mutex_trylock(&mutex); //嘗試申請鎖,非阻塞輪詢

pthread_mutex_unlock(&mutex); //釋放鎖

2、條件變數(condition)

(1)建立、初始化

#include pthread_cond_t cond;

pthread_cond_init(&cond, 0);

(2)等待、通知

pthread_cond_wait(&cond, &mutex);   //等待

pthread_cond_timewait(&cond, &mutex); //超時等待

pthread_cond_signal(&cond); //通知乙個等待的執行緒

pthread_cond_broadcast(&cond); //通知所有等待的執行緒

3、訊號量(semaphore)

(1)建立、初始化

#include //自己加標頭檔案

sem_t sem;

sem_init(&sem, 0, 0); //訊號量,區域性,初始值

(2)等待、釋放

sem_wait(&sem);   //等待

sem_post(&sem); //釋放

Linux作業系統

本書以當前最流行的red hat linux的最新發行版本為基礎,論述作業系統的基本原理 基本思想和基本方法,並在此基礎上介紹linux網路作業系統的核心結構 安裝 配置 基本操作 系統管理及網路應用等,從而系統 完整地講述linux作業系統從基本原理到應用實踐的主要內容。本書注意理論內容的選取,注...

Linux 作業系統

linux 作業系統 計算機本身就是一堆硬體,最核心 就是cpu和儲存器裝置,為了能夠計算機獲得資料,有輸入裝置和輸出裝置,輸入輸出裝置通過南橋 北橋接入cache 接入系統的,彼此之間還有匯流排,比如記憶體到cpu的叫系統匯流排,各種鍵盤,滑鼠需要的匯流排也是不一樣的。為了進可能 利用計算機的資源...

Linux作業系統

linux的組成部分 linux核心 是整個作業系統的核心,管理著整個計算機的軟硬體資源。linuxshell 是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面 linux檔案結構 檔案結構是檔案存放在磁碟等儲存裝置上的組織方法,主要體現在對檔案和目錄的組織上。安裝方式 光碟安裝 硬碟安...