CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

关于两个线程的问题

楼主quace(quace)2003-03-02 21:49:09 在 VC/MFC / 进程/线程/DLL 提问

两个线程访问同一内存块,两个都去读,或者一个读一个写,  
  需要设置互斥条件么? 问题点数:0、回复次数:10Top

1 楼masterz(www.fruitfruit.com)回复于 2003-03-02 23:19:48 得分 0

一个读一个写需要设置互斥条件  
  两个都去读,   no   race   condition.Top

2 楼yue621(对于有些事要视而不见)回复于 2003-03-03 09:54:09 得分 0

当然需要了,你需要用同步的方法,这样才能避免访问出错。Top

3 楼yue621(对于有些事要视而不见)回复于 2003-03-03 09:55:59 得分 0

因为,你读的时候,如果有另一个线程在写,那么你怎么保证你读的是写以前的还是写以后的,   还是正在写的?Top

4 楼zssgtt(活到老学到老)回复于 2003-03-03 10:22:38 得分 0

用临界量  
  LPCRITICAL_SECTION   tCS;  
  InitializeCriticalSection(&tCS);  
  EnterCriticalSection(&tCS);  
  //do   something   here,读写共享内存块  
  LeaveCriticalSection(&tCS);Top

5 楼quace(quace)回复于 2003-03-06 21:34:47 得分 0

如果读的线程对写的内容要求不严格,比如写的线程只是一个计数,是否就不需要?  
   
  此次外临界量如何设?  
  只是写的线程设置?  
  Top

6 楼aben456(金珠MERP)回复于 2003-03-07 10:50:20 得分 0

比如:这是一个十字路口  
  在你写之前你要打开绿灯,这时别的线程看到的就是红灯,等待;  
  你写完了还要关掉绿灯,好让别的线程有权利打开这个绿灯,进行读写  
   
  核心就是同一时刻只有一个线程在操作;  
  (怎么没有人来发明高架桥呢,呵呵)  
  参考  
  http://expert.csdn.net/Expert/topic/1151/1151922.xml?temp=.9171564Top

7 楼quace(quace)回复于 2003-03-08 20:27:17 得分 0

可是对于cpu来说,同一时刻的确只有一个线程在操作啊  
  Top

8 楼ahao(天·狼·星星)回复于 2003-03-08 20:55:27 得分 0

一个高级语言的操作包含很多cpu指令,你能保证这么多指令是一个原子操作吗?  
  所以如果不是两个都读,就必须做同步Top

9 楼yndfcd(YNDFCD)回复于 2003-03-08 21:12:56 得分 0

如果读写只是一个计数,可以不用互斥,直接用InterLockExchange在用户态搞定。Top

10 楼wshcdr(dd)回复于 2003-03-09 11:01:10 得分 0

gzTop

相关问题

  • 请教我有两个线程,线程A和线程B, 线程B如何发出一个消息,让线程A执行一段代码?????
  • 线程两问
  • 问两个线程管理的问题
  • 关于线程的两个问题
  • 线程的两个小问题。
  • 如何创建两个线程?
  • 关于多线程的两个问题
  • 两个工作线程,实时的向界面(CListCtrl)线程写入Item, I use the CRITICAL_SECTION, 不过,InsertItem的列表丢了一个线程(第二线程的Ite
  • 主线程外加两个辅线程的程序的退出问题!!
  • 关于串口读写时,启动两个线程,一个线程不停运行,另一个线程无法运行的问题?

关键词

  • 线程
  • tcs
  • 互斥
  • 绿灯
  • 操作
  • 同一
  • 需要

得分解答快速导航

  • 帖主:quace

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo