联锁变量访问

【勇芳软件工作室】汉化HomePreviousNext

功能InterlockedCompareExchangeInterlockedExchangeAddInterlockedDecrementInterlockedExchangeInterlockedIncrement提供了一种简单的机制,用于将访问同步到多个线程共享的变量。如果变量在共享内存中,不同进程的线程可以使用这种机制。

InterlockedIncrementInterlockedDecrement函数组合增加或减少变量并检查结果值的操作。这种原子操作在多任务操作系统中是有用的,其中系统可以中断一个线程的执行,以将处理器时间片段授予另一个线程。没有这样的同步,一个线程可以增加一个变量,但是在它可以检查变量的结果值之前被系统中断。第二个线程可以增加相同的变量。当第一个线程接收到它的下一个时间片时,它将检查变量的值,现在它已经增加了一次但是两次。互锁的可变访问功能可以防止这种错误。

InterlockedExchange函数以原子方式交换指定变量的值。InterlockedExchangeAdd函数组合了两个操作:将两个变量组合在一起,并将结果存储在其中一个变量中。

InterlockedCompareExchange函数组合了两个操作:比较两个值,并根据比较结果将第三个值存储在其中一个变量中。