lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1459回复:6

两个线程同时对一块内存访问,一个读文件到这块内存,一个MEMCPY把数据拷到别处去,会发生什么事?

楼主#
更多 发布于:2003-06-09 11:42
谢谢
lvhaow
windyguy
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2004-05-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-09 11:52
比如读线程的时间片完了,它还没读完东西,这时写线程放入了新的东西,像下面这样:
读入“Here I\'m writing something\",但是读到writing前面时时间片完了,开始写memeory的线程,这个线程写入\"Here I\'m writing nothing\",接着读线程又得到时间片,那么你说,你读到了什么内容呢?

所以要同步。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-06-09 12:52
不可预料的事。
有很多用来同步的对象的,比如mutex,critical section等等。
如果是默认heap的,已经同步了。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-06-09 12:53
这还是driver论坛吗。。。
 [url] www.cdsn.net[/url]
lvhaow
驱动小牛
驱动小牛
  • 注册日期2001-10-31
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分44分
  • 威望35点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-06-10 12:57
///////////////////////////////////
这还是driver论坛吗。。。
//////////////////////////////////
arthurtu兄:
driver和APP一脉相承,别那么死板嘛。有谁只写driver不写APP的?

lvhaow
danielxu22
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2014-03-24
  • 粉丝0
  • 关注1
  • 积分2分
  • 威望18点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-06-11 22:16
我觉得csdn太杂,这里嘛!人比较少啊!
今天我发现我家的金鱼淹死了,:(
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-06-13 00:42
你必须对这块内存的读写作同步处理,要么可以使用event,或是锁定此块内存,否则不能保证你读出的数据是你所期望的数据。
游客

返回顶部