共用方式為


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)

另請參閱

Interlocked Variable Access

InterlockedCompareExchange

InterlockedExchange

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchange8

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

同步處理函式