共用方式為


winnt.h (interlockedDecrement 函式)

遞減 (減少一個) 指定 32 位變數的值作為不可部分完成的作業。

若要在 64 位值上運作,請使用 InterlockedDecrement64 函式。

語法

LONG InterlockedDecrement(
  [in, out] LONG volatile *Addend
);

參數

[in, out] Addend

要遞減之變數的指標。

傳回值

函式會傳回產生的遞減值。

備註

Addend 參數指向的變數必須在32位界限上對齊;否則,此函式會在多處理器 x86 系統和任何非 x86 系統上發生無法預期的行為。 請參閱 _aligned_malloc

連結函式提供簡單的機制,可同步存取多個線程所共享的變數。 此函式對其他連結函式的呼叫是不可部分完成的。

此函式會盡可能使用編譯程式內部函數來實作。 如需詳細資訊,請參閱 WinBase.h 頭文件與 _InterlockedDecrement

此函式會產生完整的記憶體屏障 (或柵欄) ,以確保記憶體作業會依序完成。

Itanium 型系統: 對於效能關鍵性應用程式,請改用 InterlockedDecrementAcquireInterlockedDecrementRelease

注意Windows RT 型系統支援此函式。
 

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 winnt.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

Interlocked Variable Access

InterlockedDecrement16

InterlockedDecrement16Acquire

InterlockedDecrement16NoFence

InterlockedDecrement16Release

InterlockedDecrement64

InterlockedDecrementAcquire

InterlockedDecrementAcquire64

InterlockedDecrementNoFence

InterlockedDecrementNoFence64

InterlockedDecrementRelease

InterlockedDecrementRelease64

InterlockedIncrement

同步處理函式