tinycxx是linux平台下的線程安全的C++類庫,對linux編程最常用的技術進行了封裝。如:linuxthread, socket, IPC(共享內存、信號量), 記錄鎖等等。同時,也提供了兩種進程模型框架的基類,一種用於編寫非阻塞socket程序(類似thttpd,一個進程監聽連接同時處理請求);另一種用於編寫使用進程池的程序(類似apache,多個進程同時監聽連接,動態調整進程數目)。
另外,有一個稱為tinycxx-samples的包與tinycxx同時發布(需要另外下載),tinycxx-samples裡提供了一些使用tinycxx的例子。其中兩個例子使用了上面提到的進程模型框架的基類,另一個例子使用了linuxthread。這些例子都非常簡單,是一個echo服務器程序(向客戶端原樣返回從客戶端收到字符串)。
需要注意的是:
1、tinycxx大量使用了c++ exception和stl,所以對tinycxx感興趣的開發人員需要對這些內容有一些了解。
2、tinycxx提供的線程類使用了linuxthread的pthread函數庫,所以在編譯tinycxx之前,需要確認機器上已經安裝有pthread(大部分linux發行版本缺省都已安裝)。另外,由於同樣的原因,在使用tinycxx編譯自己的程序的時候,需要將pthread庫鏈接上。例如:g++ -o foo foo.cpp -ltinycxx -lphread
tinycxx類庫下載地址:http://prdownloads.sourceforge.net/tinycxx/tinycxx-0.1.1.tar.gz
tinycxx-samples下載地址:http://prdownloads.sourceforge.net/tinycxx/tinycxx-samples-0.1.1.tar.gz
tinycxx主頁:http://sf.net/projects/tinycxx