原创 Liunx進程間通信—管道

  管道 管道,顧名思義你可以把它想成一根數據線,連接了兩個進程,使他們可以互相通信。更嚴謹來說,它是一個文件或者一塊共享區,一個進程往裏面寫數據,另一個進程從裏面拿數據,以此種方式完成進程間通信。 管道是UNIX系統IPC最古老的形

原创 CRC的基本原理詳解

CRC(Cyclic Redundancy Check)被廣泛用於數據通信過程中的差錯檢測,具有很強的 檢錯能力。本文詳細介紹了CRC的基本原理,並且按照解釋通行的查表算法的由來的思路介紹 了各種具體的實現方法。 1.差錯檢測

原创 網絡端口的作用及分類

一、什麼是端口? 在開始講什麼是端口(port)之前,我們先來聊一聊什麼是 port 呢?常常在網絡上聽說『我的主機開了多少的 port ,會不會被入侵呀!?』或者是說『開那個 port 會比較安全?又,我的服務應該對應什麼 port

原创 劍指:由前序遍歷和中序遍歷重建二叉樹

題目:由前序遍歷和中序遍歷重建二叉樹(前序序列:1 2 3 4 5 6 - 中序序列:3 2 4 1 6 5)  思想: 代碼如下: Node* Rebuild(T prev[], T in[],int l, int r) //l爲

原创 殭屍進程與孤兒進程解析

我們都知道Linux中的進程可以分有多種狀態: R(runing):運行狀態 S(sleeping):淺度睡眠狀態 D(disk sleep):磁盤睡眠狀態 T(stopped):停止進程 X(dead):死亡狀態 Z(zombie):殭

原创 二叉樹遞歸與非遞歸遍歷

                                                              二叉樹的遍歷 常見的二叉樹的遍歷有三種方式:先序遍歷(根結點,左子樹,右子樹)                  

原创 文件描述符與文件指針的區別

文件指針:C語言中使用文件指針做爲I/O的句柄。文件指針指向進程用戶區中的一個被稱爲FILE結構的數據結構。FILE結構包括緩衝區和文件描述符。而文件描述符是文件描述符表的一個索引,也就是說c語言的文件指針是Linux系統中對文件描述符

原创 Liunx之信號捕捉與模擬sleep函數

信號在未決並且未阻塞狀態下被遞達的方式有三種: (1)忽略 (2)執行默認動作 (3)執行用戶自定義動作 前兩個方式的遞達都是由內核完成;而第三種處理的動作是用戶自定義函數,在信號遞達時就調用這個函數,這就稱爲捕捉信號 下面我們用看圖來

原创 Liunx線程(一)

一、線程的概念     線程是進程分配的資源,一個進程去管理一件事物,而管理這件事情,需要多人去完成,那麼這些人就是線程。 首先要明白幾個概念: 1.線程在進程的地址空間執行 2.線程是進程的執行分支,每個線程都擁有進程的一部分資源。

原创 Liunx進程間IPC通信—消息隊列

1、什麼是消息隊列 消息隊列提供了一種從一個進程向另一個進程發送一個數據塊的方法。每個數據塊都被認爲是有一個類型,接收者進程接收的數據塊可以有不同的類型值。我們可以通過發送消息來避免命名管道的同步和阻塞問題。  消息隊列與管道不同的是,消

原创 線程安全與可重入函數

一,什麼是線程安全?     當對一個複雜對象進行某種操作時,從操作開始到操作結束,被操作的對象往往會經歷若干非法的中間狀態。調用一個函數(假設該函數是正確的)操作某對象常常會使該對象暫時陷入不可用的狀態(通常稱爲不穩定狀態),等到操

原创 菱形虛擬繼承詳解

菱形繼承是繼承裏面比較複雜的有一種,在這裏我分別對菱形繼承、菱形虛擬繼承、菱形虛擬繼承含虛函數這幾種情況 一、菱形繼承 看下圖就是一個菱形繼承 #include<iostream> using namespace std; clas

原创 創建守護進程爲什麼要fork兩次

一、守護進程的基本概念: 守護進程也叫精靈進程,它是大多數服務器的載體。守護進程是一種運行在後臺的一種特殊的進程,它獨立於控制終端並且週期性的執行某種任務或是等待處理某些發生的時間。如果想讓某個進程不因爲用戶或中斷或其他變化而影響,那麼

原创 Liunx下git的安裝與上傳代碼的詳細步驟

      以前我都是在windows下使用github上傳代碼,可是這幾天在Liunx下寫一程序和小項目,開始學習在Liunx下使用git時,遇到了好多問題,所以就整理下來,用截圖的方式把安裝和使用git的方法講解給大家。 如果你想使

原创 進程管理(一)

一.進程概念: 程序的一個執行實例 正在執行的程序 能分配處理器並由處理器執行的實體 這三種說法都是對的 那麼正式進入進程的認識吧 內核:擔當分配和管理系統資源(CPU時間,內存)的實體 管理的兩個步驟:描述,組織 操作系統