文章目录[隐藏]
InterlockedIncrement和InterlockedDecrementkernel32.dll里的两个函数,用来对数的原子性加减,原子操作是对整数型变量带保护的进行操作,因为原子操作变量时通常会给这个变量加锁,直到操作完成,在这其间任何线程都不能对它进行任何操作。我们这里只是简单的了解,用它来实现对整数变量的自动获取变量的上一个值,或者变量的下一个值。
InterlockedIncrement (int) 原子递增
InterlockedDecrement (int) 原子递减
注意:这两个函数在易语言DLL中,都需要选中传址!
InterlockedDecrement
.版本 2
.DLL命令 InterlockedDecrement, 整数型, "kernel32.dll", "InterlockedDecrement", , 变量的上一个值
.参数 递减的一个变量, 整数型, 传址, InterlockedIncrement
易语言调用
.版本 2
.局部变量 要减少的变量
要减少的变量 = 0
.计次循环首 (100, )
输出调试文本 (InterlockedDecrement (要减少的变量))
.计次循环尾 ()
开始运行被调试程序
* -1
* -2
* -3
* -4
* -5
* -6
* -7
* -8
* -9
* -10
* -11
* -12
* -13
* -14
* -15
InterlockedIncrement
.版本 2
.DLL命令 InterlockedIncrement, 整数型, "kernel32.dll", "InterlockedIncrement"
.参数 Addend, 整数型, 传址
xxx
.版本 2
.子程序 _按钮1_被单击
.局部变量 要减少的变量
要减少的变量 = 0
.计次循环首 (100, )
输出调试文本 (InterlockedIncrement (要减少的变量))
.计次循环尾 ()
开始运行被调试程序
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10