OpenThreads 是一个基于GNU开源协议的多线程库。它所支持的语言是C++,即组成模块为类封装。
目前支持的操作系统为Win32,Linux系列。架构模式为:使用公共接口定义文件,根据平台的不同的定义不同的实现文件,因此,大家可以根据不同的操作系统平台来编写适应某个操作系统的OpenThreads。
OpenThreads的依赖 STL,在某些对象封装中使用了STL,需要注意。
OpenThreads的缺点:没有支持线程池,我们可以自己定义了一个适合OpenThreads的线程池。
模块组成:
1. Mutex 互斥信号量对象。 2. Thread 线程封装类,更加的方便的封装了对线程,进程的操作,比如:优先级,Id,等等之类的操作。 3. Condition 基于Mutex的条件判断对象。 4. Barrier