【问题标题】:Is std::chrono::time_point thread safe?std::chrono::time_point 线程安全吗?
【发布时间】:2020-07-28 21:49:33
【问题描述】:

我有一个要跨线程修改的std::chrono::time_point<std::chrono::steady_clock> 变量,这个变量线程安全吗?如果没有,我打算让它成为原子的。

【问题讨论】:

  • 一般经验法则:如果文档未提及线程安全,则假定它不安全。线程安全成本很高,C++ 的政策是不强制程序为它不使用的任何东西付费。绝大多数情况不需要线程安全,因此将其强加于它们违反了您使用的唯一付费策略。更糟糕的是,大多数时候你想让整个事务线程安全,保护一个小角落线程的安全通常是浪费精力。 Java 通过Vector 发现了这一点。
  • 你的意思是你可能同时在两个线程中修改它?或者您的意思是一个线程可能正在修改它,而另一个线程正在访问它,并且您需要确保访问线程获得任一值?

标签: c++ multithreading thread-safety


【解决方案1】:

我有一个要跨线程修改的std::chrono::time_point<std::chrono::steady_clock> 变量,这个变量线程安全吗?

没有。 std::chrono::time_point<std::chrono::steady_clock> 不保证是线程安全的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多