Fungsi InterlockedExchange
Menukar nilai, secara atomik.
Sintaks
void InterlockedExchange(
in UINT dest,
in UINT value,
out UINT original_value
);
Parameter
-
dest [in]
-
Jenis: UINT
Alamat tujuan.
-
value [in]
-
Jenis: UINT
Nilai input.
-
original_value [out]
-
Jenis: UINT
Nilai aslinya.
Mengembalikan nilai
Fungsi ini tidak mengembalikan nilai.
Keterangan
Operasi ini hanya dapat dilakukan pada sumber daya berjenis skalar dan variabel memori bersama. Ada tiga kemungkinan penggunaan untuk fungsi ini. Yang pertama adalah ketika R adalah jenis variabel memori bersama. Dalam hal ini, fungsi melakukan operasi pada register memori bersama yang dirujuk oleh dest. Skenario kedua adalah ketika R adalah jenis variabel sumber daya. Dalam skenario ini, fungsi melakukan operasi pada lokasi sumber daya yang direferensikan oleh tujuan. Terakhir, skenario ketiga adalah ketika R adalah jenis variabel lokal. Dalam skenario ini, fungsi berkurang ke operasi yang dilakukan menggunakan operasi lokal. Operasi ini hanya tersedia ketika R dapat dibaca dan dapat ditulis.
Fungsi ini didukung dalam jenis shader berikut:
VS | HS | DS | GS | PS | CS |
---|---|---|---|---|---|
x | x | x | x | x | x |
Lihat juga
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