pdf文档 CppCon2021 Concurrency TS2

1.62 MB 58 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档主要讨论了C++并发技术规范第2版(Concurrency TS2)的内容和进展。Concurrency TS2包含了几种用于并发数据结构无锁编程的同步原语,如cell、hazard ptr和RCU,这些扩展了现有的shared_ptr和拟议的atomic_shared_ptr,并提供了安全回收功能。此外,文档还提到了P1121R3关于危险指针的提案和P1122R4关于RCU的提案。Concurrency TS2的目标是未来纳入ISO C++标准,当前版本计划托管在GitHub上,并征求社区的意见和讨论。
AI总结
《CppCon2021 Concurrency TS2》文档总结如下: ### 文档概述 本文档主要围绕C++并发技术规范(Concurrency TS2)的最新进展展开,重点介绍其内容、目的及未来规划。 --- ### 1. 为什么需要Concurrency TS2? - **Concurrency TS1**于2015年发布,目标是最终被纳入ISO C++标准。它包含了对`std::future`的改进、Latch和Barrier以及原子智能指针等内容。 - TS1并未包含所有并发需求,因此需要**Concurrency TS2**来扩展功能,特别是在锁自由(lock-free)编程和安全回收(safe reclamation)领域。 --- ### 2. Concurrency TS2的主要内容 - **核心同步原语**: - **Hazard Pointers**:用于锁自由数据结构的安全回收,提案为P1121R3。 - **RCU(Read-Copy-Update)**:用于并发数据结构的高效更新,提案为P1122R4。 - 其他辅助功能,包括对`shared_ptr`和`atomic_shared_ptr`的扩展。 - **目标**: - 提供锁自由编程的基本组件。 - 扩展现有智能指针的安全回收机制,可能将`shared_ptr`和`atomic_shared_ptr`移至新位置(该提议存在争议)。 - **未来规划**: - 可能包含并发队列、计数器、不对称栅栏(Asymmetric fences)等其他数据结构。 - 执行器(Executors)的支持尚未明确。 --- ### 3. 实施状态与未来 - **GitHub开源**:TS2的代码和文档已发布至https://github.com/cplusplus/concurrency-ts2。 - **未来规划**: - 最终目标是将TS2内容纳入ISO C++国际标准,可能作为新条款(如Clause 33)。 - 计划在C++26或后续版本中正式引入。 --- ### 4. 关键讨论点 - TS2的设计和实现是否符合开发者需求? - 是否需要将TS1和TS2同时维护,或是否会导致仓库内容重复? - 如何平衡TS和IS(国际标准)之间的连续性? --- ### 总结 Concurrency TS2旨在扩展C++并发编程能力,特别是在锁自由数据结构和安全回收领域。它引入了Hazard Pointers和RCU等新技术,并计划将现有智能指针功能移至新的位置。未来,TS2的内容可能被纳入C++国际标准,成为并发编程的重要组件。目前该项目仍在开发中,开发者可以通过GitHub参与讨论和贡献。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 46 页请下载阅读 -
文档评分
请文明评论,理性发言.