TBB 开源库及并发 Hashmap 的使用
需积分: 0 171 浏览量
更新于2023-06-19
收藏 1.26MB PDF 举报
TBB 开源库及并发 Hashmap 的使用
TBB 开源库是 Intel 公司开发的开源并行计算库,用于在多核平台上进行并行化程序的开发。该库使用标准 C++ 编写,提供了一个灵活的框架来实现数据并行计算。使用 TBB 可以使用户不必关注线程,只关注任务本身即可。
TBB 开源库的主要组成部分包括算法模块、流程图模块、任务调度模块、容器模块、线程局部存储模块、内存分配模块、互斥模块、时间模块、同步原语模块等。这些模块的作用如下所示:
* 算法模块:提供一些通用的并行算法,如 parallel_for、parallel_while、parallel_reduce。
* 容器模块:提供对常见容器的线程安全版本实现,如 hashmap、vector、queue。
* 内存分配模块:提供一些内存分配相关的函数。
* 同步原语模块:提供对原子操作、mutex、lock 等同步原语的封装。
* 任务调度模块:提供对算法和任务驱动的调度引擎。
TBB 并发容器是 TBB 中的一个重要组成部分,提供了一些支持多线程并发访问的容器,如 concurrent_vector、concurrent_bound_queue、concurrent_priority_queue、concurrent_hash_map、concurrent_unordered_map 等。
并发 Hashmap 是一种支持多线程并发使用的容器,保存具有唯一 key 的键值对,支持并发插入、查找和擦除。并发 Hashmap 中存在两个成员类:accessor 和 const_accessor,二者称为访问器。通过访问器可以让多个线程并发的访问并发 Hashmap 中的元素。
TBB 的 allocator 是一种内存分配器,用于申请和释放内存。TBB 的 allocator 提供了一个灵活的机制来管理内存,避免了内存泄露和碎片化。
spin_rw_mutex 是一种共享互斥锁类型,具有回退和写优先级的自旋读写锁。spin_rw_mutex 提供了一个安全的机制来保护并发访问的共享资源。
TBB 开源库的使用可以使开发者更方便地实现数据并行计算,提高程序的性能和可扩展性。同时,TBB 开源库也提供了一个灵活的框架来实现任务并行计算,能够满足各种复杂的计算需求。
KaiwuDB数据库
- 粉丝: 514
- 资源: 14
最新资源
- CE. TOOLS. 测试工具人
- 张杰的音乐目录 : 如果爱 - 张杰
- 基于Springboot的贫困生资助系统源码
- 机械设计伺服四足机器人sw20可编辑非常好的设计图纸100%好用.zip
- 万捷APK界面类名获取工具 - Apkactivity - apk界面路径查看器
- 安卓手机广告屏蔽器AdGuard
- Java Web开发技术总复习4.docx
- 机械设计垂直 管式锅炉sw18可编辑非常好的设计图纸100%好用.zip
- Python程序火车票分析助手使用说明
- 批量处理美术资源 替换成自己想要的文件结构
- 机械设计大型转子干燥机sw15可编辑非常好的设计图纸100%好用.zip
- Labview与阿特拉斯开放式通讯 网口读取扭矩值 包括Labview程序、阿特拉斯调试软件、开放式通讯测试软件、开放式通讯协议、PM4000手册
- 圣诞树html网页代码,打开可以直接看
- 山水工程试点DID工具变量.xlsx
- Nginx支持服务端的负载均衡配置文件
- 同步磁阻电机SynRM滑模控制 1.基于FOC策略,其中转速环采用滑模控制器,较PI提高系统的动态响应能力 2.提供算法对应的参考文献和仿真模型 仿真模型纯手工搭建