Ron*_*Ron 0 c++ linux multithreading
我有3个帖子.
线程A和线程B只是编写者.
线程C是一个公正的读者.
变量是time_t.
我需要验证没有数据损坏.如果数据来自线程A或来自线程B,那么就可以了.
但是,如果变量的结果是来自线程A的数据,则不是来自线程B,因此它已被破坏
正如我想的那样,因为time_t可以在一次装配操作中写入,所以它就可以了.
是对的吗?
谢谢
如果您有两个可能并发写入(1)到共享位置而没有它们之间的同步,则您具有未定义行为,并且可能发生任何事情.所以这是一个坏主意.
请注意,即使您无法想象基于您对底层架构的了解而导致执行不良,优化器也可能会妨碍,因为允许UB不会发生.
(1)请注意,即使一个写入器和一个没有同步的读取器也是完全相同的UB.
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |