如何解决如何存储多个原子变量?
我正在编写一个C ++程序,当前遇到一个问题,我需要原子(最好是std :: atomic_flag)具有线程安全标志。问题是我需要多个不同的原子标志,而不是像这样手动声明它们:
std::atomic_flag flag1 = ATOMIC_FLAG_INIT;
std::atomic_flag flag2 = ATOMIC_FLAG_INIT;
std::atomic_flag flag3 = ATOMIC_FLAG_INIT;
理想情况下,我想在一个数组中声明它们(无法在线阅读)。我想将它们存储在容器中的原因是我想使用索引访问它们。 我的不同线程均获得一个索引,该索引告诉它们将哪个atomic_flags分配给了它们。在主线程中,我可以使用这些索引来相应地设置标志。
[编辑] 我已成功识别出所有错误。我不断收到访问冲突错误,并错误地认为它们与数组中的原子变量存储有关。我如何将索引传递给线程实际上是一个错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。