TBB 开源库及并发 Hashmap 的使用

本期线上沙龙由KaiwuDB的高级研发工程师康俊讲解TBB开源库,重点介绍了如何使用并发Hashmap确保多线程环境下的数据安全和高性能计算。TBB提供了一套并行计算框架,包括算法、容器、内存管理和同步原语等模块,其中并发Hashmap允许并发插入、查找和擦除,支持迭代器,保证了并发操作的性能和安全性。
摘要由CSDN通过智能技术生成

线上沙龙 - 技术流第 32 期回放来啦

本期直播我们邀请 KaiwuDB 高级研发工程师康俊,为大家分享 TBB 开源库及并发 Hashmap 的使用。康俊老师在 Raft 一致性协议优化、分布式存储与调度、高可用双活容灾、多 Region 地理分区等分布式处理模块研发领域具备丰富经验,现负责 KaiwuDB 基础数据结构研发与设计。

欢迎大家点击观看本次直播回放,通过了解 TBB 开源库及学习如何使用并发 Hashmap 容器,为多线程操作下的代码开发提供数据的高性能并行计算,同时还能保障数据并发操作的安全 ↓↓↓

【技术流 EP 32】TBB 开源库及并发 Hashmap 的使用

直播重点回顾

01 TBB 开源库

在多线程环境下,数据操作将面临一个问题,即如何保证并发操作下数据的安全。使用 std 提供的标准容器,需要开发者通过加锁方式保证并发安全,无疑将增加代码开发的难度。

而 TBB 是 intel 使用标准 C++ 编写的开源并行计算库,编写该库是为了实现数据并行计算的能力。使用 TBB 提供的 C++ 模板库,可以使用户不必关注线程,只需关注任务本身。

在 TBB 内划分为了多个模块,包括算法模块、流程图模块、任务调度模块、容器模块、线程局部存储模块、内存分配模块、互斥模块、时间模块、同步原语模块等。

  • 算法模块:提供通用的并行算法,如parallel_for, parallel_for_each, parallel_invoke;

  • 容器模块:提供对常见容器的线程安全版本实现,如 Hashmap, vector, queue;

  • 内存分配模块:提供内存分配相关的函数;

  • 同步原语模块:提供对原子操作、mutex、lock 等同步原语的封装;

  • 任务调度模块:提供对算法和任务驱动的调度引擎。

02 TBB 并发容器

在容器模块中,包含了 concurrent_vector、concurrent_queue、concurrent_bounded_queue 等多个并发容器,通过使用这些容器,可以实现不同业务间的并发操作安全。

03 并发 Hashmap 介绍及使用

容器模块也包含 concurrent_hash_map,它是一种支持多线程并发使用的 Hashmap 容器,有着较好的并发操作性能。该容器保存具有唯一 Key 的键值对,并且支持并发插入、查找、擦除等功能。

同时,该容器支持迭代器功能。使用并发 Hashmap 容器,可以在保证并发操作性能的同时,维护并发操作数据的安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值