早期的C++中没有语言级别的并发支持,因为在C++诞生很久以后线程等用于并发操作的概念才出现(POSIX线程标准制定于1995年)。随着近年来多CPU、多内核计算机的大量出现,并发操作(不仅是多线程)已经成为了软件开发的基本需求,新的C++标准提供了〈atomic〉、〈thread〉等库,对并发编程提供了初步的支持,但仍未达到尽善尽美。
作为C++标准库的补充,Boost实现了数个用于并发编程的库,它们是高度可用的,而且结构良好,无论从哪个方面来说都要强于其他非标准的第三方并发程序库。
boost库提供了三个用于并发的组件thread, atomic, asio.
thread库,它兼容C++标准,并且仍然在持续改进,为C++増加了可移植的线程处理能力;atomic,它完全实现了 C++标准定义的原子操作库:其次是,最后是一个用于同步和异步I/O操作的功能强大的库asio,它使用了前摄器模式,可以处理串口/网络通信,有望成为C++标准底层通信库.
<