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 页请下载阅读 -
文档评分