interlockedDecrement 函数 (winnt.h)
递减 () 指定 32 位变量的值作为原子操作减少一个。
若要对 64 位值进行操作,请使用 InterlockedDecrement64 函数。
语法
LONG InterlockedDecrement(
[in, out] LONG volatile *Addend
);
参数
[in, out] Addend
指向要递减的变量的指针。
返回值
函数返回生成的递减值。
注解
Addend 参数指向的变量必须在 32 位边界上对齐;否则,此函数在多处理器 x86 系统和任何非 x86 系统上的行为将不可预知。 请参阅 _aligned_malloc。
互锁函数提供了一种简单机制,用于同步对由多个线程共享的变量的访问。 对于对其他互锁函数的调用,此函数是原子的。
此函数是尽可能使用编译器内部函数实现的。 有关详细信息,请参阅 WinBase.h 头文件和 _InterlockedDecrement。
此函数生成完整的内存屏障 (或围栏) ,以确保按顺序完成内存操作。
基于 Itanium 的系统: 对于性能关键型应用程序,请改用 InterlockedDecrementAcquire 或 InterlockedDecrementRelease 。
注意基于 Windows RT 的系统支持此函数。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | winnt.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |