原创 面向對象的感念和基本原則

三大特性是:封裝,繼承,多態 所謂封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。封裝是面向對象的特徵之一,是對象和類概念的主要特性。 簡單的說,一個類就是一個封裝了數

原创 Linux IPC 之消息隊列

認識消息隊列 消息隊列提供了從一個進程到另一個進程發送一個數據塊(整發整收)的能力。 每個數據塊被認爲有一個應用類型, 接收者進程接受的數據塊可以有不同的類型。 消息隊列的每一個發送和接收的數據塊是有最大字節限制的(MSGMAX), 整個

原创 Reactor 與 Proactor模式

一、Reactor模式(反應器模式) 1、Reactor模式的特點 Reactor用於同步I/O,同步是指用戶進程觸發IO操作並等待或去輪詢的查看I/O操作是否就緒,如果事件就緒的話需要應用程序自己讀取或寫入數據。(Reactor

原创 排序之 歸併排序

歸併排序 歸併排序是一種基於分治法的一種排序方法。它將要排序的序列分成兩個長度相等的子序列,爲每一個子序列進行排序,然後再將子序列合併成一個有序的序列。 比如對 10 4 6 3 8 2 5 7 這個數列排序 代碼: template

原创 Linux 信號相關知識

什麼是Linux中的信號 信號實際上是軟件中斷, 信號的存在提供了一種處理異步事件的方法。 給進程發信號 實際上是給PDB的信號字段的 對應信號的二進制位置 1; 是讓進程終止 。 信號可以讓進程暫停。 信號是有有限種類的 有

原创 排序之快速排序

什麼是快速排序 快速排序是一種排序算法 它的思想是: 要對一組無序的的數值序列排序,首先找一個值作爲KEY 值(中間值)。 將其餘數值小於(大於)KEY值的值放在KEY值位置的左邊 大於(小於)KEY值的值放在KEY值的右邊。 然後