原创 Linux 的多線程編程的高效開發經驗

背景 Linux 平臺上的多線程程序開發相對應其他平臺(比如 Windows)的多線程 API 有一些細微和隱晦的差別。不注意這些 Linux 上的一些開發陷阱,常常會導致程序問題不窮,死鎖不斷。本文中我們從 5 個方面總結出 Linux

原创 epoll 經驗談

[轉]epoll 經驗談 1、首先需要一個內存池,目的在於: ·減少頻繁的分配和釋放,提高性能的同時,還能避免內存碎片的問題; ·能夠存儲變長的數據,不要很傻瓜地只能預分配一個最大長度; ·基於SLAB算法實現內存池是一個好的思路:

原创 我的友情鏈接

51CTO博客開發

原创 我的友情鏈接

51CTO博客開發

原创 Linux 的多線程編程的高效開發經驗

背景 Linux 平臺上的多線程程序開發相對應其他平臺(比如 Windows)的多線程 API 有一些細微和隱晦的差別。不注意這些 Linux 上的一些開發陷阱,常常會導致程序問題不窮,死鎖不斷。本文中我們從 5 個方面總結出 Linux

原创 epoll 經驗談

[轉]epoll 經驗談 1、首先需要一個內存池,目的在於: ·減少頻繁的分配和釋放,提高性能的同時,還能避免內存碎片的問題; ·能夠存儲變長的數據,不要很傻瓜地只能預分配一個最大長度; ·基於SLAB算法實現內存池是一個好的思路:

原创 QQ遊戲百萬人同時在線的服務器架構實現

近日在與業內人士討論時,提到QQ遊戲的實現方式並不是我原來所想的那樣,於是,今天又認真抓了一下QQ遊戲的包,結果確如這位兄弟所言,QQ遊戲的架構 與我當初所設想的那個架構相差確實不小。下面,我重新給出QQ百萬級在線的技術實現方案,並以此展開

原创 C++ 簡單IO操作

文件 I/O 在C++中比烤蛋糕簡單多了。 在這篇文章裏,我會詳細解釋ASCII和二進制文件的輸入輸出的每個細節,值得注意的是,所有這些都是用C++完成的。 一、ASCII 輸出 爲了使用下面的方法, 你必須包含頭文件<fstream.