原创 【linux】信號量!!!

基本概念: 臨界資源:當一塊資源只能夠被一個進程訪問的時候,這塊資源就叫臨界資源。 臨界區:進程裏面訪問臨界資源的代碼叫做臨界區。 信號量的本質:計數器,計算描述臨界資源的多少。 信號量集函數: int semget(key_

原创 【其他】字符串的解析!!!

在操作字符串的時候經常會碰到,一類是如何將字符串的部分替換,另一類就是如何將字符串進行重新組合。 一、如何將‘aaa@@@@bbbbbb@@@@@cccccccc@@@@@@dddddddddddd’,替換成‘aaa bbbbbb

原创 【Linux】線程控制!!

在Linux裏面線程被稱爲輕量級線程,而線程的退出有以下幾種方法: 線程調用return函數返回,但是在主線程裏面不適用,因爲主線程裏面調用return函數相當於在主線程裏面調用exit函數。 線程調用pthread_exit函

原创 【linux】信號的捕捉!!

在linux裏面產生信號的時候並不是當信號產生的瞬間就將信號進行處理,而是當系統感到合適的時候就會將該信號進行處理。 當執行用戶自定義的信號處理動作的時候的信號執行過程 當執行的是用戶的自定義信號處理函數的時候從內核空間返回到

原创 【Linux】線程的互斥與同步!!

在系統裏面線程的資源不同於進程的資源,進程在系統裏面是一個一個的單獨個體,但是線程的資源大部分是共享的,所以在線程訪問問一個臨界資源的時候需要同步與互斥機制,從而保證在多線程的程序裏main不會出現問題。 模擬實現售票系統: in

原创 【數據結構】mgraph!!

概念:圖是由定點集合和定點間關係組成的數據結構。 有向圖:在有向圖裏面的\A,C和C,A是不同的兩個邊,即在圖裏面的邊是有方向的。 無向圖:在無向圖裏面的A,C和C,A是相同的一條邊,即在無向圖裏面的邊是沒有方向之分的。 定點的度:

原创 【網絡】epoll簡單概念!!

相關API epoll_create epoll_create(int size);//創建epoll模型 注:在linux2.68之後,size被忽略 使用epoll_create創建模型的時候,內核會創建紅黑樹和就緒隊列以及回調

原创 【網絡】select模型基本概念!!

select模型 select機制 當使用read等系統調用在緩衝區裏面讀取數據的時候,如果和緩衝區裏面沒有數據,那麼函數會被系統直接掛起等待,這種函數稱之爲阻塞式接口。如果緩衝區內一直沒有數據那麼該系統調用會一直阻塞,知道緩衝區內有可

原创 【C++】TopK問題!

問題描述:在無序的數組中查找最大(最小)的前K個元素? 例如:arr[] = {9,1,6,2,3,8,3,4,7,0}最大的四個元素是6,7,8,9 思路:使用小堆,先將數組中的K個元素插入到堆中,然後再從第K個開始遍歷數組,如果數

原创 【Linux】消費者與生產者模型!!

POSIX信號量 信號量的類型:sem_t 初始化信號量函數:int sem_init(sem_t* sem,int pthread,unsigned value); sem:信號量名 pthread:0表示線程間共享,非0表示進

原创 【MySQL】數據庫的基本數據類型!!

tinyint 帶符號的範圍是-128~127,不帶符號的範圍是0~255。如果不加unsigned,默認爲帶符號的。 bit(M) 其中M爲指定的位數,默認1,範圍爲1~64;在顯示的時候是按照ASCII碼的形式展示。

原创 【網絡】CGI入門!!

概念: CGI:通用網關接口(Common Gateway Interface)是一個Web服務器主機提供信息服務的標準接口。通過CGI接口,Web服務器就能夠獲取客戶端提交的信息,轉交給服務器端的CGI程序

原创 【網絡】TCP的可靠機制!!

TCP的可靠機制 確認應答ACK TCP將每一個要發送的數據進行編號,每一份發送的數據接收方就會應答確認序號。迴應的序號用於告訴接收者已經接收到的數據。 超時重傳 如果在發送數據的時候發生丟包現象,那麼發送方就不會收到接收方的ACK

原创 【Linux】讀寫鎖!!

讀寫鎖的三二一模型 三:三種關係 、讀者與讀者之間沒有關係、寫者和讀者互斥且同步、寫者與寫者之間互斥 二:兩種對象、讀者和寫者 一:一個交易場所 讀寫鎖應用的場景:在多線程程序裏面,線程對臨界資源的訪問比較多,而對臨界資源的修改較少。

原创 【MySQL】索引和事務!!

索引 索引的目的:提高數據庫的性能,提高海量數據的查詢速度。 索引的分類 1. 主鍵索引 2. 唯一索引 3. 普通索引 4. 全文索引 創建索引的方式 主鍵索引 1. 在創建表的同時直接在字段名後面加上primary ke