InterlockedCompareExchange

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

[New - Windows NT]

InterlockedCompareExchange函数将根据比较结果对【目的地】【Comperand】参数中指定的值进行原子比较,并交换值。该函数可防止多个线程同时使用相同的变量。

PVOID InterlockedCompareExchange(

PVOID 【*目的地】,//指向目标指针的指针
PVOID 【交换】,//交换价值
PVOID 【Comperand】//要比较的值
); 

参数

【目的地】

指定目标值的地址。这是一个32位值。标志被忽略。

【交换】

指定交换值。这是一个32位值。标志被忽略。

【Comperand】

指定与【目的地】进行比较的值。这是一个32位值。标志被忽略。

返回值

返回值是目的地的初始值。

备注

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

InterlockedCompareExchange函数执行【目的地】值与【Comperand】值的原子比较。如果【目的地】值等于【Comperand】值,则【交换】值存储在【目的地】指定的地址中。否则,不执行任何操作。

InterlockedCompareExchange的变量必须在32位边界上对齐;否则,这个功能将在多处理器【x】 86系统上失败。

也可以看看

InterlockedDecrement,InterlockedExchange,InterlockedExchangeAdd,InterlockedIncrement