《Linux 高級程序設計》講述了Linux操作系統(tǒng)下應用層“一段執(zhí)行單元(進程)對系統(tǒng)資源(CPU資源、各類文件資源)的管理”。詳細介紹了Linux系統(tǒng)編程環(huán)境及編程工具(GCC/Makefile/GDB)、文件管理(文件屬性控制、ANSI以及POSIX標準下文件讀寫操作、終端編程)、進程管理(創(chuàng)建、退出、執(zhí)行、等待、屬性控制)、進程間通信(管道、消息隊列、共享內(nèi)存)、進程間同步機制(信號量)、進程間異步機制(信號)、線程管理(創(chuàng)建、退出、取消等以及屬性控制)、線程間同步(互斥鎖、讀寫鎖、條件變量)、線程與信號以及BSD socket編程中的TCP、UDP、原始套接口、網(wǎng)絡服務器應用開發(fā)等內(nèi)容,并對Linux系統(tǒng)下的音頻應用程序開發(fā)做了講解。
Linux多線程編程-線程同步機制互斥鎖基本原理互斥以排他方式防止共享數(shù)據(jù)被并發(fā)修改。互斥鎖是一個二元變量,其狀態(tài)為開鎖(允許0)和上鎖(禁止1),將某個共享資源與某個特定互斥鎖綁定后,對該共享資源的訪問如下操作:(1)在訪問該資源前,首先申請該互斥鎖,如果該互斥處于開鎖狀態(tài),則申請到該鎖對象,并立即占有該鎖(使該鎖處于鎖定狀態(tài)),以防止其它線程訪問該資源;如果該互斥鎖處于鎖定狀態(tài),默認阻塞等待;(2)只有鎖定該互斥鎖的進程才能釋放該互斥鎖。其它線程的釋放操作無效。