原创 C++ lambda表達式

    C++11新標準引入lambda表達式,主要部分如下:    [捕獲列表](參數)->type{函數體},使用尾置返回類型,其中可以忽略參數與返回類型,但要保存捕獲列表與函數體,使用調用運算符調用,可在(參數)後添加mutable限

原创 C++模板的特例化編譯爲多重定義問題

    之前遇到了一些關於模板特例化的問題,自己總結一下。    模板的特例化是C++新標準的一個特點,可以自定義某些模板的實現,比如在比較函數compare可以使用less<T>標準庫模板比較string、int、char、指針等類型,但

原创 操作系統精髓與設計原理--單處理器調度

概述        在多道程序設計系統裏,內存有多個進程,且或者在處理器上運行,或者在等待某種事件的發生(如I/O完成)。當處理器(或組)通過執行某個進程而保持忙狀態,則其他的進程處於等待狀態。        多道程序設計的關鍵是調度,操作

原创 TCP三次握手、糊塗窗口、粘包問題

這是在學習中的總結,若有錯誤請大家不吝指正(^.^)關於TCP/IP的三次握手:當服務端的狀態爲LISTEN,客戶端的狀態爲CLOSED時,客戶端發起連接客戶端發送有SYN字段報文,此時狀態爲SYN_SENT狀態服務端接收該報文時,狀態處於

原创 操作系統精髓與設計原理--多處理器和實時調度

概述    對於多處理器調度,此處概述了多個處理器可能帶來的問題和設計上的一些問題;對於實時調度,概述了兩種調度方法:限時調度和速率單調調度。1 多處理器調度    多處理器系統可以分爲以下幾類:鬆耦合、分佈式處理器、集羣:有一系列相對自治

原创 Qt支持C++11新標準

   當已經升級了g++編輯器後,在Qt Creator的.pro文件裏添加 CONFIG += console c++11或CONFIG += c++11後執行qMake即可支持;    console c++11表示會打開一個終端顯示輸

原创 單源最短路徑

以下爲找到一條單源最短路徑的思想與思路描述自己最近看了一下關於單源最短路徑的算法,其基礎是DijKstra算法:從某個起點開始,選擇直接連接的最短路徑點,更新最短路徑長並逐漸擴到終點。如圖所示的路徑:(手工畫圖,若醜勿怪)起點爲1,尋找到終

原创 多進程與多線程的選擇

這類我總結了一些進程與線程的特點和選取方法,若有錯誤,不吝指正(^.^)進程是資源分配的最小單位,線程是CPU調度的最小單位(基本概念啦)數據同步與共享:(平分秋色)進程共享複雜需要IPC,數據分開同步簡單;線程共享進程數據,共享簡單,但因

原创 I/O模型分類

在學習I/O模型的學習總結,如有錯誤,不吝指正(^.^)I/O複用場景:當客戶處理多個描述字時;一個客戶處理多個套接口;一個TCP服務器既要處理監聽套接口,又要處理已連接套接口;一個服務器既要處理TCP,又要處理UDP;如果一個服務器處理多