std::chrono::time_point 线程安全吗?
Posted
技术标签:
【中文标题】std::chrono::time_point 线程安全吗?【英文标题】:Is std::chrono::time_point thread safe? 【发布时间】:2020-07-28 21:49:33 【问题描述】:我有一个要跨线程修改的std::chrono::time_point<std::chrono::steady_clock>
变量,这个变量线程安全吗?如果没有,我打算让它成为原子的。
【问题讨论】:
一般经验法则:如果文档未提及线程安全,则假定它不安全。线程安全成本很高,C++ 的政策是不强制程序为它不使用的任何东西付费。绝大多数情况不需要线程安全,因此将其强加于它们违反了您使用的唯一付费策略。更糟糕的是,大多数时候你想让整个事务线程安全,保护一个小角落线程的安全通常是浪费精力。 Java 通过Vector
发现了这一点。
你的意思是你可能同时在两个线程中修改它?或者您的意思是一个线程可能正在修改它,而另一个线程正在访问它,并且您需要确保访问线程获得任一值?
【参考方案1】:
我有一个要跨线程修改的
std::chrono::time_point<std::chrono::steady_clock>
变量,这个变量线程安全吗?
没有。 std::chrono::time_point<std::chrono::steady_clock>
不保证是线程安全的。
【讨论】:
以上是关于std::chrono::time_point 线程安全吗?的主要内容,如果未能解决你的问题,请参考以下文章