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