Bagikan melalui


Fungsi InterlockedExchange8 (winnt.h)

Mengatur variabel 8-bit ke nilai yang ditentukan sebagai operasi atom.

Untuk beroperasi pada variabel pointer, gunakan fungsi InterlockedExchangePointer.

Untuk beroperasi pada variabel 16-bit, gunakan fungsi InterlockedExchange16.

Untuk beroperasi pada variabel 32-bit, gunakan fungsi InterlockedExchange.

Untuk beroperasi pada variabel 64-bit, gunakan fungsi InterlockedExchange64.

Sintaksis

CHAR InterlockedExchange8(
  [in, out] CHAR volatile *Target,
  [in]      CHAR          Value
);

Parameter

[in, out] Target

Penunjuk ke nilai yang akan ditukar. Fungsi mengatur variabel ini ke Value, dan mengembalikan nilai sebelumnya.

[in] Value

Nilai yang akan ditukar dengan nilai yang ditujukkan ke Target.

Mengembalikan nilai

Fungsi mengembalikan nilai awal parameter Target .

Komentar

Fungsi yang saling mengunci menyediakan mekanisme sederhana untuk menyinkronkan akses ke variabel yang dibagikan oleh beberapa utas. Fungsi ini atomik sehubungan dengan panggilan ke fungsi lain yang saling mengunci.

Fungsi ini diimplementasikan menggunakan kompilator intrinsik jika memungkinkan. Untuk informasi selengkapnya, lihat file header WinBase.h dan _InterlockedExchange8.

Fungsi ini menghasilkan hambatan memori penuh (atau pagar) untuk memastikan bahwa operasi memori selesai secara berurutan.

Catatan Fungsi ini didukung pada sistem berbasis Windows RT.
 

Persyaratan

Syarat Nilai
klien minimum yang didukung Windows 8 [hanya aplikasi desktop]
server minimum yang didukung Windows Server 2012 [hanya aplikasi desktop]
Platform Target Windows
Header winnt.h (termasuk Windows.h)

Lihat juga

Akses Variabel Yang Saling Diblokir

InterlockedCompareExchange

InterlockedExchange

InterlockedExchange16

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

interlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

Fungsi Sinkronisasi