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

前端之家收集整理的这篇文章主要介绍了c – 为什么阅读不是线程安全的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道为什么从内存读取不是线程安全的.在我迄今为止看到的这个问题中,尤其是 this的问题,从内存读取似乎并不是线程安全的.

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

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

解决方法

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

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

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

原文链接:https://www.f2er.com/c/114619.html

猜你在找的C&C++相关文章