微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在锁定之前/中/之后分配的变量始终对其他线程以相同顺序可见?

如何解决在锁定之前/中/之后分配的变量始终对其他线程以相同顺序可见?

a = 1;

lock;
b = 2;
unlock;

c = 3;

其他线程总是按照分配的顺序看到 a b c ?如果不是,真正的行为是什么? lock 做任何事情会改变它附近的内存模型吗?

当其他线程看到 a(b,c) 更新时无关紧要,只关心其他线程可以看到 a(b,c) 更新结果的顺序。

这道题可以分为两部分,可以赋值给a(b)混合,或者赋值给b(c)混合。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。