InterlockedExchange16 函数 (winnt.h)
将 16 位变量设置为指定值作为原子操作。
若要对 32 位变量进行操作,请使用 InterlockedExchange 函数。
若要对 64 位变量进行操作,请使用 InterlockedExchange64 函数。
语法
SHORT InterlockedExchange16(
[in, out] SHORT volatile *Destination,
[in] SHORT ExChange
);
参数
[in, out] Destination
指向要交换的值的指针。 函数将此变量设置为 ExChange,并返回其先前值。
[in] ExChange
要与 Destination 指向的值交换的值。
返回值
函数返回 Destination 参数的初始值。
注解
互锁函数提供了一种简单的机制,用于同步对多个线程共享的变量的访问。 对于对其他互锁函数的调用,此函数是原子函数。
如果可能,此函数是使用编译器内部函数实现的。 有关详细信息,请参阅 WinBase.h 头文件和 _InterlockedExchange16。
此函数 (或围栏) 生成完整的内存屏障,以确保按顺序完成内存操作。
基于 Itanium 的系统: 对于性能关键型应用程序,请改用 InterlockedExchangeAcquire64 。
注意基于Windows RT的系统支持此函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | winnt.h (包括 Windows.h) |
另请参阅
InterlockedExchangePointerAcquire