原创 Windows 平臺下的同步機制 (3)– 事件(Event)

Windows 平臺下的同步機制 (3)– 事件(Event) 事件對象的特點是它可以應用在重疊I/O(overlapped I/0)上,比如說socket編程中有兩種模型,一種是重疊I/0,一種是完成端口都是可以使用事件同步。它也是核

原创 Windows 平臺下的同步機制 (2)– 互斥體(Mutex)

Windows 平臺下的同步機制 (2)– 互斥體(Mutex) windows api中提供了一個互斥體,功能上要比臨界區強大。Mutex是互斥體的意思,當一個線程持有一個Mutex時,其它線程申請持有同一個Mutex會被阻塞,因此可

原创 同步機制——互斥體鎖、讀/寫鎖、信號量鎖、條件變量

(區別於linux內核所用的自旋鎖和互斥鎖,本文中討論的鎖用於普通編程) 當兩個或多個併發線程的執行次序造成了意想不到的錯誤結果時,“競態條件”就是會產生。防止“競態條件”的一個方法是使用同步機制,對訪問“共享資源”的代碼中關鍵段實施“品

原创 Windows 平臺下的同步機制 (4)– 信號量(Semaphore)

Windows 平臺下的同步機制 (4)– 信號量(Semaphore) Semaphore是旗語的意思,在Windows中,Semaphore對象用來控制對資源的併發訪問數。Semaphore對象具有一個計數值,當值大於0時,Sema

原创 C++中在多個編譯單元中如何定義常量

【方法一】: 在某個公用的頭文件中直接在某個名字空間中或者全局名字空間中定             義符號常量並初始化(有無static)無所謂,例如: // CommonDef.h const int MAX_LENGTH=1024;

原创 C++靜態數據成員

http://blog.163.com/xychenbaihu@yeah/blog/static/13222965520112894854489/ C++靜態數據成員(static member)—靜態成員的初始化不應該在頭文件中,

原创 inline, const, virtual, static四個關鍵字使用時應該放在哪裏?

注意,下面說的“聲明”指的是非定義處的聲明,別跟我扯什麼“所有的定義都是聲明”什麼的。 1. inlineinline可以放在聲明處,也可以放在定義處,也可以兩個地方都放。但是inline是屬於實現部分的內容,不應該出現在接口處,即類的

原创 Windows 平臺下的同步機制 (1)– 臨界區(CriticalSection)

Windows 平臺下的同步機制 (1)– 臨界區(CriticalSection) 臨界區的使用在線程同步中應該算是比較簡單,說它簡單還是說它同後面講到的其它方法相比更容易理解。舉個簡單的例子:比如說有一個全局變量(公共資源)兩個線程

原创 函數名與函數指針

一 通常的函數調用 一個通常的函數調用的例子://自行包含頭文件 void MyFun(int x);    //此處的申明也可寫成:void MyFun( int ); int main(int argc, char* argv[])

原创 技術人員的找工之路(Final)

http://for-ever-sober.blog.sohu.com/144992577.html     2009早已過去,但那清晰可見的足印,在背後的彎曲小路仿如昨天才走過。技術人員的找工之路並不平坦,看過各樣的風景,受過各種打擊

原创 linux重定向命令應用及語法

1. 標準輸入的控制 語法:命令< 文件將文件做爲命令的輸入。 例如: mail -s “mail test” [email protected] < file1 將文件file1 當做信件的內容,主 題名稱爲mail test,送給收信人。 2.

原创 枚舉、聯合

# include <iostream.h> int main() { //枚舉類型變量的取值範圍:Mon~Sun enum Week {Mon = 1, Tue, Wed, Thu = 11, Fri, Sat, Sun};

原创 結構體、類的成員對齊

自然對齊: 爲了保證CPU的運算穩定和效率,要求基本數據類型在內存中的存儲地址必須自然對齊。所謂自然對齊,就是基本數據類型的變量不能簡單的存儲於內存中的任意地址處,它們的起始地址必須能夠被它們的大小整除。 例如,在32位平臺下,int和指

原创 C++類實例

差不多看完了林銳的《高質量程序設計指南——C++/C語言》,覺得裏面提到的一些注意點和技巧對初學者還是挺不錯的,花了點時間編寫了一個類的實例,包括了書中提到的一些技巧和注意點。 //Player.h /***************

原创 引用 與 取地址 以及指針的關係

【引用】 就是一個變量的別名(連內存都不分配)。引用是C++裏定義的(C沒有,&只是取地址操作)。 可以看成是一個const指針(指針地址不可變,指向的內容可變)。 【指針】就是一個變量,是一個佔用四字節的變量(32位機上),與其他變量