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

VC多线程冲突的问题?

楼主#
更多 发布于:2003-06-08 13:56
写了个程序,使用两个线程分别处理文件和数据。
数据线程通过公共变量向文件线程传递文件名,同时,文件线程也通过一组公共变量向数据线程发送相关状态信息。两个线程使用CEvent对象进行同步。

现在,程序运行一段时间就会出现某某内存不能读写的故障,虽然两个线程使用事件对象进行了同步,但程序里对公共变量的访问时间还是不可测的,有可能会出现两个线程\"同时\"访问同一变量。

问,两个线程如果同时对同一变量进行读写,有没有可能造成内存不能读写的故障。我所看到的资料都说这种情况只会产生程序逻辑上的错误,不至于会出现系统错误的。

谢谢。
lvhaow
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-06-08 16:59
把“公共变量”用临界区(Critical Sections)保护起来。
游客

返回顶部