两个线程在没有锁或任何其他恶作剧的情况下同时读取c中用户定义对象的指针值是否安全?
解决方法 是.实际上同时读取任何值(内置类型)是安全的.如果某个值与使用它的某个其他线程同时修改,则只能发生数据争用.标准的主要陈述是:
数据竞争在§1.10/ 21中定义:
The execution of a program contains a data race if it contains two
conflicting actions in different threads,at least one of which is not
atomic,and neither happens before the other.
在§1.10/ 4中定义冲突的地方:
Two Expression evaluations conflict if one of them modifIEs a memory
location (1.7) and the other one accesses or modifIEs the same memory
location.
因此,您必须在这些读取和任何写入之间使用适当的同步.
总结以上是内存溢出为你收集整理的c指向用户定义的对象线程安全的读取?全部内容,希望文章能够帮你解决c指向用户定义的对象线程安全的读取?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)