原创 網絡基礎

一、 TCP/IP四層模型    1、應用層:應用程序間溝通的層,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等。    2、傳輸層:在此層中,它提供了節點間的數據傳送服務,如傳輸控制協議(TCP

原创 數據庫-事務和關係數據庫範式

一、數據庫    數據庫是一個按照數據結構來存儲和管理數據的系統軟件,對數據庫進行管理的軟件系統稱爲數據庫管理系統。二、關係數據庫範式    是指在設計關係數據庫時,應當遵守設計原則。通過遵守這些規則設計出良好的關係數據庫,能夠避免數據冗餘

原创 shell腳本練習題

一、用shell腳本實現進度條#!/bin/bash function proc()   4 {   5     count=0   6     bar=""   7     lable=("|" "/" "-" "\\")   8    

原创 Linux--Condition Variable(條件變量)實現生產者-消費者模型 、讀寫鎖

一、條件變量    在線程同步過程中還有如下的情況:線程A需要等某個條件成立之後才能繼續往下執行,如果條件不成立,線程A就阻塞,而線程B在執行過程中使這個條件成立了,就喚醒線程A繼續執行。在Pthread庫中用條件變量阻塞等待一個條件,或者

原创 函數指針和回調函數

一、函數指針    函數的目標碼有一個入口地址,這個入口地址就對應函數的指針。函數的指針能賦給一個指向特定函數類的指針變量,並能通過指向函數的指針變量調用它所指向的函數。    定義指向函數的指針變量的一般形式爲        返回值類型

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

一、可重入函數    可重入函數主要用於多任務環境中,一個可重入的函數簡單來說就是可以被中斷的函數,也就是說,可以在這個函數執行的任何時刻中斷它,轉入OS調度下去執行另外一段代碼,而返回控制時不會出現什麼錯誤;,局部變量可重入函數; 不可重

原创 Linux--線程的同步與互斥

一、 mutex互斥量   同步:就是對資源的訪問有序。互斥:就是任一時刻來說只有一個在執行;但是對於多線程的程序來說,訪問衝突的問題是很普遍的,解決的辦法是引入互斥鎖(Mutex,MutualExclusive Lock),獲得鎖的線程可

原创 Linux --進程間通信--共享內存

一、共享內存    共享內存是最高效的通信方式,因爲不需要一個進程先拷貝到內核,另一個進程在存內核中讀取。二、 ipcs -m 查看共享內存   ipcrm -m 刪除共享內存三、主要函數    shmget 創建    shmctl 刪除

原创 C語言--memcpy和memmove

一、memcpy  memcpy函數的功能是從源src所指的內存地址的起始位置開始拷貝n個字節到目標dest所指的內存地址的起始位置中。 void* my_memcpy(void* dest, const void *src, size_t

原创 Linux--線程的控制與分離

一、線程的概念    線程是進程內部的一個基本執行流,是系統調度的一個實體。進程具有獨佔性,線程具有共享性。各線程共享進程的文件描述符、信號處理的方式、當前的工作目錄、用戶id(uid)和組id(gid)。但是有些資源線程是私有的,比如線程

原创 Linux--進程間通信-信號量

一、什麼是信號量    就是一種用來描述某種資源數量個數的計數器,通過控制其他通信資源來實現進程通信。它在此過程中負責數據的互斥、同步等。互斥,就是在同一時間段內,A、B兩個進程只有一個進程在運行。同步。就是A 進程完成之後,B進程接着完成

原创 套接字編程--TCP

一、socket編程    socket本身有“插座“的意思,因此用來描述網絡連接的一對一關係。”在TCP/IP協議中,“TP地址+TCP或端口號”唯一標識網絡通訊中的一個進程,“IP地址+端口號”就稱爲socket。(socket就像當於

原创 Linux--grep命令

一、作用:        Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。二、用法:     grep [選項]... PATTERN [FILE]...      在每個FILE