#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檔案結構 檔案結構是檔案存放在磁碟等儲存裝置上的組織方法,主要體現在對檔案和目錄的組織上。安裝方式 光碟安裝 硬碟安...