资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

InterlockedIncrement和volatile的问题?

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

资料说volatile可以避免优化,InterlockedIncrement则可以安全的在多线程中操作数据。  
  我有一个标志变量,如下:  
  volatile   long       interrupt_;  
  在2个线程中都可能会改变它的值,于是用InterlockedIncrement和InterlockedDecrement进行改变值的操作。  
   
  但是,编译不过去,因为InterlockedIncrement的参数是long型,而不能用volatile   long。  
   
  我用的是VC6企业版,加SP5。  
  我看了MSDN6.0,声明为  
  LONG   InterlockedIncrement(  
   
  LPLONG   lpAddend  
   
  );  
   
  MSDN2002的声明为  
  LONG   InterlockedIncrement(  
      LPLONG   volatile   lpAddend       //   variable   to   increment  
  );  
  两者不一样。  
   
  我是否应该去掉volatile,去掉的话是否会被优化而导致不安全?  
 

网友回答:

发表者:an_bachelor

mark


 

 
热门推荐笔记本: 东芝笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved