InterlockedExchange函数以原子方式交换一对32位值。该函数可防止多个线程同时使用相同的变量。
长联锁交易所
LPLONG 【目标】, | //要交换的32位值的地址 |
LONG 【值】 | // 【目标】指向的LONG值的新值 |
); |
参数
【目标】
LONG的交易地址。该函数将此LONG值设置为【值】,并返回其先前的值。
【值】
指定【目标】指向的LONG值的新值。
返回值
该函数返回【目标】指向的LONG值的先前值。
备注
函数InterlockedExchange,InterlockedCompareExchange,InterlockedDecrement,InterlockedExchangeAdd和InterlockedIncrement提供了一种简单的机制,用于将访问同步到多个线程共享的变量。如果变量在共享内存中,不同进程的线程可以使用这种机制。
【目标】参数指向的变量必须在32位边界上对齐;否则,该函数将在多处理器【x】 86系统上失败。
也可以看看
InterlockedCompareExchange, InterlockedDecrement, InterlockedExchangeAdd, InterlockedIncrement