1. 守護進程—擺脫終端
1.創建子進程,父進程退出; //孤兒進程
2.在子進程創建新的會話; //擺脫終端
3.更改當前工作目錄:保護數據;//
4.重設文件權限掩碼; //方便操作文件
5.關閉所有的文件描述符; //釋放不必要資源
意義\\目的:做重複性,週期性的工作;
特點:
不依賴與終端。
在後臺一直運行,從系統開始運行,到系統關閉結束。
2. 線程
線程是系統cpu資源調度的最小單位;(時間片)
線程是共享相同地址空間的多個任務;(共享主線程資源)
線程是輕量級的進程,進程之間的切換消耗的系統資源較大,故衍生出了線程。各個線程同時享有進程的地址空間,
3. 線程的同步互斥
保證進程共享數據操作的完整性。(原子操作);
讓線程按照規定的順序執行,實現同步機制。
4. 線程的操作函數
創建線程:pthread_create();
主動結束線程:pthread_exit();
回收線程資源:pthread_join();
線程函數:void * fun(void *);
同步互斥:
互斥鎖:(mutex)
初始化鎖:pthread_mutex_init();
上鎖:pthread_mutex_lock();
解鎖:pthread_mutex_unlock();
PV操作:(信號量)
初始化:msg_init()
P操作:msg_wait();阻塞 msg_trywait()非阻塞
V操作:msg_post():
閱讀更多 華清遠見成都中心 的文章