原创 信號驅動IO之libevent的使用

5、libevent方法      libevent是一個事件觸發的網絡庫,適用於windows、linux、bsd等多種平臺,內部使用select、

原创 linux網絡編程IO模型

   構建現代的服務器應用程序需要以某種方法同時接收數百、數千甚至數萬個事件,無論它們是內部請求還是網絡連接,都要有效地處理它們的操作。     有許多解決方案,但事件驅動也被廣泛應用到網絡編程中。並大規模部署在高連接數高吞吐量的服務器程

原创 linux write函數爲原子操作,多進程,多線程假如APPEND,寫入不被打斷

當一個文件被多個進程或者多個線程同時操作時,會不會出現內容交錯的現象。例如一個進程向文件寫入“AAAA” ,使用語句(write( fd,  "AAAA",  4);),另一個進程向文件寫入“BBBB”,語句爲(write ( fd, 

原创 C/C++中判斷文件或文件夾是否存在

方法1. access函數        適用範圍:所有C/C++項目        頭文件:   #include < io.h>        函數原型: intaccess(const char *filename, int mod

原创 Linux系統環境下關於多進程併發寫同一個文件的討論

原文地址:Linux系統環境下關於多進程併發寫同一個文件的討論 作者:CUKdd討論關於併發環境下,多個進程對同一文件寫入的問題,我們會涉及到文件共享的知識。在開始之前,我們先討論一些有關文件共享的知識。1. 文件共享  Unix系統支持

原创 linux C++ 面向對象線程類封裝

1.封裝遇到的問題將pthread線程封裝爲抽象類,這樣用戶在使用線程時,只需要繼承一下這個抽象類,並實現相應的接口就可以了。這樣做的好處是用戶可以將注意力集中在線程所要執行的邏輯上,而不需要關注創建線程、銷燬線程等細節問題上。我們抽象類

原创 linux安裝jdk環境(多種方式)

linux系統通用安裝 通過tar.gz壓縮包安裝 此方法適用於絕大部分的linux系統 下載tar.gz的壓縮包,這裏使用官網下載。 進入: http://www.oracle.com/technetwork/java/javase/d

原创 用C++封裝線程的互斥操作(linux)

學過操作系統的人,估計都知道互斥量是個何方神聖,我這裏也就不再狗尾續貂再做解釋了好,先看Linux下關於互斥量的一些API(所謂封裝,說白了也就是封裝這些API,讓這些API更簡單好用罷了)一、Linux下互斥量的使用1、定義一個互斥量p

原创 epoll和select區別

先說下本文框架,先是問題引出,然後概括兩個機制的區別和聯繫,最後介紹每個接口的用法一、問題引出 聯繫區別問題的引出,當需要讀兩個以上的I/O的時候,如果使用阻塞式的I/O,那麼可能長時間的阻塞在一個描述符上面,另外的描述符雖然有數據但是不

原创 Zookeeper實現分佈式鎖

實現分佈式鎖目前有三種流行方案,分別爲基於數據庫、Redis、Zookeeper的方案,其中前兩種方案網絡上有很多資料可以參考,本文不做展開。我們來看下使用Zookeeper如何實現分佈式鎖。 什麼是Zookeeper? Zookeepe

原创 Zookeeper常用操作命令create,set,delete

一、zk特性的session的基本原理 1、客戶端與服務端之間的連接存在會話 2、每個會話都可以設置一個超時時間 3、心跳結束,session則過期 4、session過期,則臨時節點znode會被拋棄 5、心跳機制: 客戶端想服務端的p

原创 父子進程間文件共享

fork函數調用一次,返回兩次。在新創建的過程中返回一次,返回值爲0.在原來的進程中返回一次,返回值是新進程的pid。 通過fork函數創建的進程爲新進程的父進程。即就是,通過fork創建的進程與原進程是父子關係。孤兒進程:當父進程結束以

原创 c++箭頭運算符重載

箭頭操作符(->)的通常用法是,使用一個類對象的指針來調用該指針所指對象的成員。左操作數爲對象指針(this),右操作數爲該對象的成員名稱。定義重載箭頭操作符之後看起來就有點特別,可以用類對象的指針來調用,也可以用類對象直接調用。重載箭頭

原创 C/C++ 獲取文件夾下所有文件名 windows和linux通用

#################################################利用C/C++編寫程序以獲取文件夾內所有子文件名,以下程序參考網絡上諸多博文:頭文件如下:[cpp] view plain copy#inc

原创 sip協議介紹1

介紹  通信提供商及其合作伙伴和用戶越來越渴求新一代基於 IP 的服務。現在有了 SIP協議(會話啓動協議),一解燃眉之急。SIP協議 是不到十年前在計算機科學實驗室誕生的一個想法。它是第一個適合各種媒體內容而實現多用戶會話的協議,現在已