原创 重新出發,有什麼可怕

希望可以在這裏,找回我的初心,找回當年的狀態,找回那個曾經的我

原创 【OJ】STL——複習vector使用

常用接口 resize&reserve void resize (size_type n, value_type val = value_type()); void reserve (size_type n); r

原创 信號基礎知識【菜鳥學習日記】

信號與中斷 Linux信號是一種進程間異步的通信機制,可以理解爲是一種“軟中斷”。 信號可以使一個正在運行的進程被異步打斷,然後轉而去處理一個突發的事件。 異步事件是不可預見的,只能通過某些特定的方式來預防,或者說,當該異

原创 MySql基本語法【菜鳥學習日記】

1、在Linux首先先進入我的mysql 可以看到已經進入了我的mysql 上面兩部也可以合併在一起 mysql [-h 主機] -u root -p 我剛沒有寫-h 主機,則默認本地連接; 如果需要登錄到另外一個mysq

原创 Linux--信號練習

信號的響應有三種方式: 響應方式: 1、缺省 2、忽略(有些信號不能被忽略,SIGKILL 、SIGSTOP) 3、捕獲信號(SIGKILL 、SIGSTOP 也不能被捕獲) 安裝信號 我們就收到信號有相應的處理,但首先我

原创 信號量

信號量主要用來實現進程間的同步問題,避免併發訪問共享資源 在實際應用中,兩個進程間通信可能會使用多個信號量,因此Linux在管理是以信號量集來管理 信號量集合使用指針指向一個由數組組成的信號量單元,在此信號量單元中存儲了個信號

原创 進程間通信

進程是一個獨立的資源管理單元,不同進程之間資源是獨立的,都有自己的PCB,不能在一個進程中直接訪問另一個進程的用戶空間和內核空間資源。但是,進程不是孤立的,不同的進程之間需要進行消息的交互和狀態的傳遞,因此需要進程間數據傳遞、同

原创 多線程間的同步與互斥

多線程與臨界區 多線程想要訪問臨界區時,就要對臨界區進行上鎖,這與之前寫到的進程互斥是一個道理,這也就是防止共享數據被併發訪問的解決方法,這種上鎖叫做互斥鎖 互斥鎖 互斥鎖以排他的方式保護共享數據被併發訪問。 因爲在線程中,內

原创 歸併排序

“歸併” 將兩個或者兩個以上的有序序列合併成一個新的有序序列 歸併示例:2-路歸併排序 2-路歸併的操作核心是:將數組中前後相鄰的兩個有序序列歸併爲一個有序序列 歸併排序——“分而治之” 我們想要讓整個序列有序,那麼就

原创 Linux--線程【菜鳥學習日記】

線程與進程一樣,具有創建、退出、取消和等待等基本操作,可以獨立完成特定事物的處理;線程同樣有自己的特有屬性,如線程也有唯一標識自己的線程ID,但線程佔用更少的資源 什麼是線程?線程的定義 “輕量級進程” 簡單來說線程就是進程中

原创 線程退出前的資源釋放問題

線程退出前的資源釋放問題 類似於進程的atexit()函數,線程在退出前也可以執行用戶顯示定義的一些函數。無論是可預見的線程終止還是異常終止,都會存在資源釋放的問題,在不考慮因爲運行出錯而退出的情況下,如何保證線程終止時能順利的釋

原创 文件I/O方式比較

1、阻塞式文件I/O 如圖所示,一旦進程期望讀取數據,就調用read/write函數,進程從調用這些函數開始,一直到返回的這段時間裏,都處於阻塞狀態。當recv正常返回時,進程繼續其它操作 這種模式的優點在於操作簡單

原创 小項目--文件壓縮學習記錄【菜鳥學習日記】

文件壓縮原理 (這個小項目要用到的知識:哈夫曼樹、堆) 例如我們有一個這樣的文檔 首先我們要先統計字符出現的次數 a-4 b-3 c-2 d-1 然後用其去構造一顆Huffman Tree 利用這顆樹生成哈夫曼編

原创 Socket基礎【菜鳥學習日記】

Socket socket是實現網絡主機進程間通信的一種機制。 從用戶空間來看,socket就是一個文件描述符,對socket的操作等同於對普通的文件描述符操作,可以使用read、write、close函數來操作,一旦針對該s

原创 哈希表--HashTable(散列表)

哈希表定義 是根據關鍵字(key)而直接訪問內存存儲位置的一種數據結構 訪問數據的方法是通過一個函數,映射到key值對應的位置,進行數據訪問 這個映射函數成爲散列函數/哈希函數,存放記錄的數組稱爲散列表/哈希表 構造哈希表的