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

c – 为什么阅读不是线程安全的?

我想知道为什么从内存读取不是线程安全的.在我迄今为止看到的这个问题中,尤其是 this的问题,从内存读取似乎并不是线程安全的.

我一直在Python编码一段时间,现在进入C.我从来没听说过Python中的阅读不是线程安全的.

如果我错了,请纠正我,但如果没有,请告诉我为什么从内存读取不是线程安全的.

解决方法

阅读是线程安全的,没有问题…..直到有人写到你正在读取的位置,然后…好的,希望你会在数据更改之前阅读,或者在数据更改后读取在这些情况下,不用担心),但有时候,只是当你真的不想要它,你会读取一半的写入,然后你会得到竞争垃圾数据.

减轻这种情况的方法是确保您只在任何写入之前或之后读取,这需要您检查写入是否发生,从而使用某种类型的同步锁.这使事情变慢,因为你显然检查锁,然后阅读,而不是阅读.如果您正在使用原始数据类型(例如,int),则可以使用cpu同步来快速加速.

作为py Python,可以通过语言运行时为您总是同步python数据,如果不是那么你迟早会得到相同的线程读取问题. (快速谷歌说是的,Python will suffer the same problems你不小心)

原文地址:https://www.jb51.cc/c/114619.html

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

相关推荐