请教多核CPU的多线程读写问题

menzi11 2012-03-29 02:52:22
有两个线程,一个对某个地址不断读,另一个对这个地址不断写,无所谓谁先读还是谁先写,
也就是没有读写的顺序要求,请问是否还需要加锁或者原子操作?
会不会出现数据读了几位的时候后几位被写入的情况?谢谢~
...全文
96 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
muyi66 2012-03-30
  • 打赏
  • 举报
回复
呃,忘了这个缓期执行了
luciferisnotsatan 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

只要是32位以下的量就不用担心,编译器会帮你做成原子操作。超过32位的或者是字符串一类就不行了,要设置控制手段。
[/Quote]
同时执行 i++,不加锁不见得会有正确结果。

muyi66 2012-03-29
  • 打赏
  • 举报
回复
只要是32位以下的量就不用担心,编译器会帮你做成原子操作。超过32位的或者是字符串一类就不行了,要设置控制手段。
SuperLy 2012-03-29
  • 打赏
  • 举报
回复
如果是简单的int/byte等等之类,应该都是原子操作
但是如果是__int64就要小心了...
Saleayas 2012-03-29
  • 打赏
  • 举报
回复
总线不是共享的。
//嘿嘿!

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧