Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk menggunakan mutexes global dengan selamat dan boleh dipercayai di C#?
c# <:> Soalan:
Penggunaan mutex (mutex) mungkin rumit, terutama untuk kunci bersama global. Apakah model yang boleh dipercayai dan selamat dicipta dan digunakan dalam C#?
Jawapan:
<.> 1. Gunakan pengecam unik:
Buat pengenal unik yang saling mengunci global dengan aplikasi aplikasi. Ini memastikan bahawa kunci bersama adalah khusus untuk permohonan anda dan tidak akan bertentangan dengan aplikasi lain.
<.> 2. Buat dan lepaskan dengan betul:
Gunakan fungsi pembinaan (di mana
ditetapkan ke) kunci instantiated dan saling eksklusif. Ini memastikan bahawa ia dibuat jika kunci bersama tidak wujud, atau ia diperoleh jika ia wujud. Selepas selesai, pastikan anda menggunakan untuk melepaskan kunci bersama. <.> 3. Memproses kunci eksklusif yang saling eksklusif:
Mutex(bool, string, out bool)
dipanggil dalam createdNew
blok untuk menangkap true
. Keabnormalan ini berlaku apabila proses sebelumnya memegang kunci bersama tidak dikeluarkan. Dalam kes ini, pengecualian ini boleh diabaikan dan masih boleh diperolehi. ReleaseMutex()
Jika beberapa pengguna akan mengakses aplikasi, gunakan
untuk menetapkan tetapan selamat mengunci bersama. Berikan kebenaran yang sepadan kepada kumpulan pengguna atau pengguna tertentu.
WaitOne()
<.> 5. Timeout: try/catch
AbandonedMutexException
. Sekiranya anda tidak dapat memperoleh kunci bersama, ini akan menghalang program daripada melepak selama -lamanya. Contoh kod:
MutexSecurity
Atas ialah kandungan terperinci Bagaimana untuk menggunakan mutexes global dengan selamat dan boleh dipercayai di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!