次の方法で共有


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 パラメーターの初期値を返します。

備考

インターロックされた関数は、複数のスレッドによって共有される変数へのアクセスを同期するための簡単なメカニズムを提供します。 この関数は、他のインターロックされた関数の呼び出しに関してアトミックです。

この関数は、可能な限りコンパイラ組み込みを使用して実装されます。 詳細については、WinBase.h ヘッダー ファイルと _InterlockedExchange16を参照してください。

この関数は、メモリ操作が順番に完了するように、完全なメモリ バリア (またはフェンス) を生成します。

Itanium ベースのシステム: パフォーマンスが重要なアプリケーションの場合は、代わりに InterlockedExchangeAcquire64 使用します。

この機能は、Windows RT ベースのシステムでサポートされています。
 

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winnt.h (Windows.h を含む)

関連項目

インタロックされた変数アクセス を する

InterlockedCompareExchange の

InterlockedExchange の

InterlockedExchange16Acquire の

InterlockedExchange16NoFence

InterlockedExchange64 の

InterlockedExchange8

InterlockedExchangeAcquire の

InterlockedExchangeAcquire64 の

InterlockedExchangeAdd の

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer の

InterlockedExchangePointerAcquire の

InterlockedExchangePointerNoFence の

InterlockedExchangeSubtract の

同期関数の