Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Strukturnya SpinLock adalah primitif sinkronisasi tingkat rendah yang saling dikecualikan yang berputar saat menunggu untuk memperoleh kunci. Pada komputer multicore, ketika waktu tunggu diperkirakan pendek dan ketika ketidakcocokan minimal, SpinLock dapat berkinerja lebih baik daripada jenis kunci lainnya. Namun, kami sarankan Anda hanya menggunakan SpinLock ketika Anda menentukan dengan membuat profil bahwa System.Threading.Monitor metode atau Interlocked metode secara signifikan memperlambat performa program Anda.
SpinLock dapat menghasilkan ikatan waktu utas bahkan jika belum memperoleh kunci. Ini dilakukan untuk menghindari inversi prioritas utas, dan untuk memungkinkan pengumpul sampah membuat kemajuan. Ketika Anda menggunakan SpinLock, pastikan bahwa tidak ada utas yang dapat menahan kunci selama lebih dari rentang waktu yang sangat singkat, dan tidak ada utas yang dapat memblokir saat menahan kunci.
Karena SpinLock adalah tipe nilai, Anda harus secara eksplisit meneruskannya sebagai referensi jika Anda bermaksud agar kedua salinan merujuk ke kunci yang sama.
Untuk informasi selengkapnya tentang cara menggunakan jenis ini, lihat System.Threading.SpinLock. Misalnya, lihat Cara: Menggunakan SpinLock untuk Sinkronisasi Low-Level.
SpinLockmendukung modepelacakan- yang dapat Anda gunakan selama fase pengembangan untuk membantu melacak utas yang menahan kunci pada waktu tertentu. Mode pelacakan thread sangat berguna untuk debugging, tetapi kami sarankan Anda menonaktifkannya dalam versi rilis program Anda karena mungkin memperlambat performa. Untuk informasi selengkapnya, lihat Cara: Mengaktifkan Mode Thread-Tracking di SpinLock.