interlockedDecrement16 函数 (winnt.h)

递减 (递减 1) 指定 16 位变量的值作为原子操作。

若要对 32 位值进行操作,请使用 InterlockedDecrement 函数。

若要对 64 位值进行操作,请使用 InterlockedDecrement64 函数。

语法

SHORT InterlockedDecrement16(
  [in, out] SHORT volatile *Addend
);

参数

[in, out] Addend

指向要递减的变量的指针。

返回值

函数返回生成的递减值。

注解

Addend 参数指向的变量必须在 16 位边界上对齐;否则,此函数在多处理器 x86 系统和任何非 x86 系统上的行为将不可预知。 请参阅 _aligned_malloc

互锁函数提供了一种简单机制,用于同步对由多个线程共享的变量的访问。 对于对其他互锁函数的调用,此函数是原子的。

此函数是尽可能使用编译器内部函数实现的。 有关详细信息,请参阅 WinBase.h 头文件和 _InterlockedDecrement16

此函数生成完整的内存屏障 (或围栏) ,以确保按顺序完成内存操作。

注意 基于 Windows RT 的系统支持此函数。
 

要求

   
最低受支持的客户端 Windows 8 [仅限桌面应用]
最低受支持的服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows
标头 winnt.h (包括 Windows.h)

另请参阅

互锁变量访问

InterlockedDecrement

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrement64

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

同步函数