spin
驱动小牛
驱动小牛
  • 注册日期2001-04-17
  • 最后登录2015-10-27
  • 粉丝1
  • 关注0
  • 积分46分
  • 威望354点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:1211回复:5

InterLockIncreamemt 是甚麽意思 ?

楼主#
更多 发布于:2002-04-03 07:02

最新喜欢:

baoyibao99baoyib...
Xman
驱动大牛
驱动大牛
  • 注册日期2001-08-24
  • 最后登录2011-10-07
  • 粉丝0
  • 关注0
  • 积分343分
  • 威望127点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-03 08:31
对一个数按\"原子操作\"加1
[img]http://www.driverdevelop.com/forum/upload/Xman/2004-04-05_2004324183110706.jpg[/img]
tigerzd
驱动老牛
驱动老牛
  • 注册日期2001-08-25
  • 最后登录2004-12-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-03 08:34
LONG InterlockedIncrement(IN PLONG  Addend);
InterlockedIncrement increments a caller supplied variable as an atomic operation.
此函数在原子级安全的为一个变量加1。不会被中断,即使在多处理器条件下,而且你在一个线程中修改,其他线程访问的必定是修改后的值。这个函数常用在保存驱动程序中的重要的不能被同时访问的变量,比如IRP的计数用于驱动程序的卸载。
LONG  InterlockedDecrement( IN PLONG Addend);


 
犯强汉者,虽远必诛! [img]http://www.driverdevelop.com/forum/upload/tigerzd/2002-12-13_sf10.JPG[/img]
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-03 08:48
对,原子级加1 ,本质还是为了同步。
Tom_lyd
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-04-03 09:10
用户被禁言,该主题自动屏蔽!
LIUTANG
驱动大牛
驱动大牛
  • 注册日期2001-03-30
  • 最后登录2020-12-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望58点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2002-04-04 18:41
经常使用在线程同步的时候,它是一个原子操作,原理我想根据我在LINUX下的经验,应该是把系统中断暂时关闭,使系统不会调度到别的线程,函数执行完了再把中断恢复.可能类似自旋锁吧.
游客

返回顶部