原创 Linux入門:信號(一)——基本概念

信號是一種通知機制。一個信號就是一條小消息,它通知系統進程系統中發生了一個某種類型的事件。每種信號類型都對應於某種系統事件。低層的硬件異常是由內核異常處理程序處理的。正常情況下,對用戶進程而言是不可見的,信號提供了一種機制,通知用戶進程發

原创 Linux入門:線程同步與互斥(二)——條件變量

      條件變量和互斥量的初始化和銷燬類似(一個條件變量總是和一個mutex搭配使用的): 1.初始化條件變量 2.銷燬條件變量 3.在某條件下等待 調用這個等待函數的時候這個函數其實做了三件事: 首先釋放mutex;然後開始進行

原创 Linux入門:線程同步與互斥(四)——讀寫鎖

讀寫鎖 在編寫多線程的時候,有一種情況是非常常見的。那就是,有些公共數據修改的機會比較少,相比較改寫,它們讀的機會反而高的多。通常而言,在讀的過程中,往往伴隨着查找的操作,中間耗時很長。給這樣的代碼段加鎖,會極大地降低我們程序的效率。因此

原创 C++模板與泛型編程(二)——類模板

類模板是用來生成類的藍圖的,與函數模板的不同之處是,編譯器不能爲類模板推斷模板參數類型。 模板類也是模板,必須以關鍵字template開頭,後接模板形參表。 1、類模板格式 template<class 形參名1, class 形參名

原创 Linux入門:作業規劃進程crond

一、關於作業規劃進程        crond是Linux下用來週期性地執行某種任務或等待處理某些事件的一個守護進程,與Windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啓動crond進程,crond進

原创 C++之模板與泛型編程(一)——函數模板

假設我們希望編寫一個函數來比較兩個值,並指出第一個值是小於、等於還是大於第二個值。在實際中,我們可能就會想到定義多個重載函數: //兩個值相等返回0,第一個值小於第二個值返回-1,第一個值大於第二個值則返回1. 這兩個函數幾乎是相同的,

原创 C++之智能指針

本文轉自: http://blog.csdn.net/wxt_hillwill/article/details/69950608 ★智能指針      智能指針(smart pointer)是存儲指向動態分配(堆)對象指針的類,用

原创 QPS、PV、TPS和需要部署機器數量計算公式

本文出自 “混跡於挨踢的行業” 博客,請務必保留此出處http://zhaiku.blog.51cto.com/2489043/1160338 QPS:Queries Per Second意思是“每秒查詢率”,是一臺服務器每秒能夠

原创 gdb調試多進程多線程

1. 默認設置下,在調試多進程程序時GDB只會調試主進程。但是GDB(>V7.0)支持多進程的分別以及同時調試,換句話說,GDB可以同時調試多個程序。只需要設置follow-fork-mode(默認值:parent)和detach-on-

原创 Linux入門:線程同步與互斥(三)——信號量

POSIX版本的信號量(掛起等待鎖) 之前實現了基於單鏈表的生產者——消費者模型,這次利用POSIX版本的信號量實現基於環形隊列的生產者——消費者模型。 環形buffer:用一維數組來模擬(讓下標模上數組元素的個數來實現) (1)環形隊列

原创 Linux入門:創建守護進程

       守護進程(deamon),也稱精靈進程,是一種運行在後臺的一種特殊的進程,它獨立於控制終端並且週期性的執行某種任務或等待處理某些發生的事件。由於在Linux中,每個系統與用戶進行交流的界面成爲終端,每一個從此終端開始運行的進

原创 Linux入門之dstat

dstat -N total -D total 5查看服務器網卡/磁盤流量 1、查看CPU的整體情況,執行命令dstat -c 顯示系統整體的cpu情況,顯示各個信息爲CPU用戶佔用,系統佔用,空閒,等待,中斷,軟件中斷等信息 2

原创 Linux入門之磁盤管理

1. du -sh 查看目錄、文件總大小 -a:全部文件與目錄大小都列出來。如果不加任何選項和參數只列出目錄(包含子目錄)大小。 -c:最後加總 2. df -h 查看磁盤使用量 3. lsblk 查看系統塊設備信息

原创 Linux入門之系統CPU性能

1.查看Linux系統的CPU信息:cat/proc/cpuinfo 參數類別:processor(處理器編號,從0開始) model name(CPU型號) cpu MHz(頻率) cache size(緩存) core id(

原创 Linux入門之內存信息獲取

Linux系統的內存信息可通過cat /proc/meminfo獲取 參數類別: MemTotal:內存大小 MemFree:空閒內存 MemAvailable:可