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