Saya membaca dokumentasi MSDN tetapi tidak begitu memahaminya.
Saya percaya bahwa perilaku Set
adalah "ganti yang ada, atau tambahkan" (secara atomik).
Apakah itu benar?
Saya membaca dokumentasi MSDN tetapi tidak begitu memahaminya.
Saya percaya bahwa perilaku Set
adalah "ganti yang ada, atau tambahkan" (secara atomik).
Apakah itu benar?
Jawaban:
Add
tidak melakukan apa pun (mengembalikan false
) jika sudah ada nilai untuk kunci itu. Set
melakukan penyisipan atau pembaruan, jika perlu.
Remove
+ Add
akan meninggalkan celah di tengah ketika thread lain yang menanyakan kunci itu tidak mendapatkan petunjuk ( Set
tidak; pertukaran biasanya atom); Oleh karena itu, meskipun Set
memiliki hasil akhir yang sama dengan Remove
+ Add
, perbedaan mekanisme ini penting karena dapat memengaruhi penelepon lain.
Misalnya Add :
Nilai Kembali
Ketik: System.Boolean benar jika penyisipan berhasil, atau salah jika sudah ada entri di cache yang memiliki kunci yang sama dengan kunci.
set
menggantikan Kebijakan jika item ada?