Intel TBB开源了
Intel ThreadingBuilding Blocks 是一个C++并发库,主要用于高性能C++程序的开发.
主要优点是不像OpenMP那样对编译器有要求,而且支持更多的并发模型.
TBB目前在GPL协议下开源, 从网站上可以下载到源码和编译好的DLL.如果对源码稍加改动,你可以编译一个静态版本.主要是把DllMain里面的内容移出到Init()和Fini()函数.
下面简单介绍一下TBB.
目前,TBB 2.0版本 包括一下几个部分:
1. 并行for / while 等并行算法库
2. 并行容器,包括为Cache优化的 并发HashMap
3.多线程并发的内存分配器
4.同步原语的C++封装
5.高精度计时机制
6.Task编程模型 Pipeline编程模型等并发模型
尤其是Pipeline模型,在硬件线程超过32个时,这种模型具有极大的优势.