首页未分类 › Linux平台用C++实现信号量,同步线程

Linux平台用C++实现信号量,同步线程

使用Linux平台上现有的信号量sem_t相关的一组API,可以方便地进行线程同步。现在用pthread_mutex_t和pthread_cond_t相关的一组API实现信号量机制。这组API包括:pthread_mutex_init,pthread_cond_init,pthread_mutex_lock,pthread_cond_signal,pthread_mutex_unlock,pthread_cond_wait,pthread_cond_timedwait,pthread_cond_destroy和pthread_mutex_destroy,可以在http://www.9linux.com找到各API的说明。下边,是封装的信号量类,以及测试代码。使用VS2005编辑,在虚拟机 Fedora 13中编译,测试通过。

下边是测试代码

编译,运行。可以看到,与Win32平台上的测试结果相同
由此可见,信号量机制很关键的一点就是计数值 m_n。
用C++封装Win32信号量,同步线程

发表评论