前面已经讲过volatile关键字,当我们在处理多线程或者模拟一个类似COM的引用计数时,我们为了防止多个线程同时访问一个变量,导致不可预料的结果时。我们便可以方便的使用InterLockedIncrement 和 InterLockedDecrement 来对这个变量进行锁定访问:
long volatile lReference;
InterlockedIncrement( &lReference ); // 对这个引用计数进行锁定并ADD 1
InterlockedDecrement( &lReference ); // 对这个引用计数进行锁定并SUB 1
这样就可以方便的操作这个变量,而不需要自己处理同步。当然还有其他方法。。这里不暂时一一说明。