InterLockedIncrement 和 InterLockedDecrement处理线程访问
当我们在处理多线程或者模拟一个类似COM的引用计数时,我们为了防止多个线程同时访问和改变同一个变量,导致不可预料的结果时。我们便可以方便的使用InterLockedIncrement 和 InterLockedDecrement 来对这个变量进行锁定访问:
long volatile lReference;
InterlockedIncrement( &lReference ); // 对这个引用计数进行锁定并ADD 1
InterlockedDecrement( &lReference ); // 对这个引用计数进行锁定并SUB 1
这样就可以方便的操作这个变量,而不需要自己处理同步。
比如多线程操作,用于进度条的使用统计进度时,可以用InterlockedIncrement