【发布时间】:2021-07-05 18:19:13
【问题描述】:
std::coroutine_handle 中是否有任何部分在标准中被定义为线程安全的?
例如,我可以看到 std::coroutine_handle::done() 使用原子变量实现,这将允许在不首先锁定所有内容的情况下进行完成检查。
但如果标准中没有定义与线程安全相关的内容,那么我将不得不假设最坏的情况并始终锁定所有内容。
【问题讨论】:
-
我没有找到任何确定的东西,但是有一条注释说,“协同程序的并发恢复可能会导致数据竞争。”
标签: c++ c++20 c++-coroutine