Fungsi InterlockedCompareExchange (wdm.h)
Rutinitas InterlockedCompareExchange melakukan operasi atomik yang membandingkan nilai input yang ditunjukkan oleh Tujuan dengan nilai Comperand.
Sintaks
LONG CDECL_NON_WVMPURE InterlockedCompareExchange(
[in, out] LONG volatile *Destination,
[in] LONG ExChange,
[in] LONG Comperand
);
Parameter
[in, out] Destination
Penunjuk ke nilai input yang dibandingkan dengan nilai Comperand.
[in] ExChange
Menentukan nilai output yang ditunjukkan oleh Tujuan jika nilai input yang ditunjukkan oleh Tujuan sama dengan nilai Comperand.
[in] Comperand
Menentukan nilai yang dibandingkan dengan nilai input yang ditujukkan oleh Tujuan.
Mengembalikan nilai
InterlockedCompareExchange mengembalikan nilai asli *Tujuan.
Keterangan
Jika Comperand sama dengan *Tujuan, maka *Tujuan diatur ke Exchange yang sama. Jika tidak, *Tujuan tidak berubah.
InterlockedCompareExchange menyediakan cara atom yang cepat untuk menyinkronkan pengujian dan pembaruan variabel yang dibagikan oleh beberapa utas. Jika nilai input yang ditunjukkan oleh Tujuan sama dengan nilai Comperand, nilai output Tujuan diatur ke nilai Exchange.
InterlockedCompareExchange dirancang untuk kecepatan dan, biasanya, diimplementasikan sebaris oleh kompilator. InterlockedCompareExchange hanya bersifat atomik sehubungan dengan panggilan Xxx yang diblokir lainnya. Ini tidak menggunakan kunci putar dan dapat digunakan dengan aman pada data yang dapat di-pageable.
Operasi yang saling dikunci tidak dapat digunakan pada memori yang tidak di-cache.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Pustaka | OneCoreUAP.lib di Windows 10 |
IRQL | Tingkat apa pun |
Lihat juga
ExInterlockedCompareExchange64
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk