Fungsi InterlockedExchange16 (winnt.h)
Mengatur variabel 16-bit ke nilai yang ditentukan sebagai operasi atomik.
Untuk beroperasi pada variabel 32-bit, gunakan fungsi InterlockedExchange .
Untuk beroperasi pada variabel 64-bit, gunakan fungsi InterlockedExchange64 .
Sintaks
SHORT InterlockedExchange16(
[in, out] SHORT volatile *Destination,
[in] SHORT ExChange
);
Parameter
[in, out] Destination
Penunjuk ke nilai yang akan ditukar. Fungsi mengatur variabel ini ke ExChange, dan mengembalikan nilai sebelumnya.
[in] ExChange
Nilai yang akan ditukar dengan nilai yang ditujukkan oleh Tujuan.
Nilai kembali
Fungsi mengembalikan nilai awal parameter Tujuan .
Keterangan
Fungsi yang saling diblokir menyediakan mekanisme sederhana untuk menyinkronkan akses ke variabel yang dibagikan oleh beberapa utas. Fungsi ini bersifat atomik sehubungan dengan panggilan ke fungsi lain yang saling diblokir.
Fungsi ini diimplementasikan menggunakan kompilator intrinsik jika memungkinkan. Untuk informasi selengkapnya, lihat file header WinBase.h dan _InterlockedExchange16.
Fungsi ini menghasilkan hambatan memori penuh (atau pagar) untuk memastikan bahwa operasi memori selesai secara berurutan.
Sistem berbasis itanium: Untuk aplikasi kritis performa, gunakan InterlockedExchangeAcquire64 sebagai gantinya.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | winnt.h (sertakan Windows.h) |
Lihat juga
Akses Variabel Yang Saling Diblokir
InterlockedExchangePointerAcquire