原创 二十、線程安全

文章目錄:一、線程安全(一)概念(二)線程安全之臨界資源(三)線程安全之可重入函數1. 基本概念2. 實例二、線程和fork()(一)fork後子進程線程數量(二)fork後子進程鎖的處理 一、線程安全 (一)概念 線程安全: 就

原创 十八、線程概念與基本使用

文章目錄:一、線程基本概念(一)定義(二)實現(三)優點(四)線程和進程的區別二、線程管理(對資源的管理)三、操作系統線程實現方式(一)內核態線程實現(二)用戶態線程實現(三)組合級線程實現四、Linux系統線程實現方式五、Lin

原创 十七、進程間通訊--共享內存

文章目錄:一、共享內存基本概念(一)定義(二)原理(三)特點二、共享內存相關函數(一)共享內存的創建引用shmget函數(二)共享內存的操作shmctl函數(三)連接共享內存shmat函數(四)斷開共享內存shmdt函數(五)命令

原创 面試題 08.10. 顏色填充

題目: 編寫函數,實現許多圖片編輯軟件都支持的「顏色填充」功能。 待填充的圖像用二維數組 image 表示,元素爲初始顏色值。初始座標點的橫座標爲 sr 縱座標爲 sc。需要填充的新顏色爲 newColor 。周圍區域」是指顏色相

原创 十六、進程間通訊--信號量

文章目錄:一、相關基礎概念(一)進程關係(二)臨界資源&臨界區(三)原子操作(四)PV操作二、信號量概念(一)定義(二)使用(三)特點三、信號量函數(一)創建/獲取信號量集合semget函數(二)設置信號量集合semctl函數(三

原创 【MyBash項目】二、實現

文章目錄一、項目背景二、項目功能三、項目知識點四、項目框架五、函數模塊實現(一)主函數實現(二)打印終端提示信息函數(三)處理用戶輸入信息函數(四)實現內置命令函數1. cd2. exit(五)處理外置命令函數(六)實現系統外置命

原创 十四、進程間通訊--管道

文章目錄一、進程間通訊二、管道二、有名管道FIFO(一)基本概念(二)實例(三)注意三、無名管道(一)基本概念(二)實例 一、進程間通訊 系統中的進程都是獨立的個體,擁有屬於自己的用戶空間,所以每個進程之間的數據是不共享的。在前面

原创 十五、進程間通訊--消息隊列

文章目錄一、消息隊列的概念二、消息隊列相關函數三、實例 一、消息隊列的概念 1.定義: 消息隊列是消息的鏈表,存放在內核中並由消息隊列標識符表示。消息隊列提供了一種從一個進程向另一個進程發送一個數據塊的方法,這個數據塊由消息類型和

原创 十九、線程同步

文章目錄:一、線程同步的目的二、線程同步方式(一)互斥量(互斥鎖)1. 基本概念2. 實例(二)讀寫鎖1. 基本概念2. 實例(三)信號量1. 基本概念2. 實例(四)條件變量1. 基本概念2. 實例 一、線程同步的目的 我們在進

原创 十 一、文件屬性的獲取(五)

我們在前面已經學習了文件的類型,主要有5類7個:普通文件(-),目錄文件(d),管道文件(p),連接文件(l),設備文件:(字符設備文件c,塊設備文件b,套接字s)。我們今天來學習如何獲取文件屬性和判斷文件類型,主要的方法就是三個

原创 十二、僵死進程 && 進程替換

文章目錄一、僵死進程(一)什麼是僵死進程1. 僵死進程的產生2. 查看僵死進程3. 僵死進程的危害&&區分孤兒進程和僵死進程(二)處理僵死進程1.wait函數2.waitpid函數3.兩者的區別4.兩種辦法處理僵死進程二、進程替換

原创 十三、信號

文章目錄一、信號基本概念(一)信號的產生(二)信號的處理(三)信號的種類&常見信號二、修改信號響應方式的signal函數(一)概念(二)實例1:修改中斷信號的響應方式(三)實例2:利用信號處理僵死進程三、信號的發送(一)kill

原创 【項目一】一、知識儲備

文章目錄:一、Linux相關函數知識儲備(一)獲取用戶信息1. 獲取用戶UID、登錄名2. 根據UID或登錄名獲取用戶信息(二)獲取主機信息(二)切換目錄 && 獲取當前工作目錄(三)掃描目錄獲取目錄下的文件(四)獲取文件屬性

原创 【力扣】136. 只出現一次的數字

題目: 給定一個非空整數數組,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。 說明: 你的算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎? 示例: 示例 1: 輸入: [2,2,1]

原创 【python】五、字符串(一)

文章標題字符串基礎知識例題1. 組成新字符串2. 生成包含15個字母的列表3. 生成10位字符密碼4. 尋找特定字符 字符串基礎知識 定義字符串: s1 = ‘Hello World!’ 利用下標訪問字符串,利用“:"可