Menggunakan Mutex untuk Menghalang Berbilang Contoh Aplikasi
Mutexes menyediakan penyelesaian yang mantap untuk memastikan bahawa hanya satu contoh aplikasi yang aktif pada bila-bila masa. Ini menghalang konflik dan memastikan integriti data. Artikel ini meneroka cara melaksanakan gelagat aplikasi satu contoh ini menggunakan mutex.
Contoh kod asal cuba menghalang berbilang kejadian dengan menyemak mutex sedia ada. Jika ditemui, ia menutup mutex dan memberitahu pengguna. Walau bagaimanapun, ini tidak mempunyai petunjuk yang jelas tentang contoh yang sudah berjalan.
Pendekatan yang lebih berkesan memanfaatkan Mutex
parameter out
pembina untuk menyemak kejayaan penciptaan secara eksplisit:
<code class="language-c#">bool createdNew; Mutex m = new Mutex(true, "myApp", out createdNew); if (!createdNew) { // Another instance of myApp is already running. MessageBox.Show("myApp is already running!", "Application Already Running"); return; }</code>
Kod yang dipertingkatkan ini menggunakan createdNew
pembolehubah boolean. Nilai true
menandakan penciptaan mutex yang berjaya, mengesahkan kejadian ini adalah yang pertama. Sebaliknya, false
menunjukkan mutex sedia ada, bermakna contoh aplikasi lain sudah berjalan.
Kaedah ini berkesan menghalang berbilang kejadian sambil memberikan mesej mesra pengguna. Pengguna yang cuba melancarkan contoh kedua menerima pemberitahuan yang jelas, membenarkan mereka berinteraksi dengan aplikasi sedia ada.
Atas ialah kandungan terperinci Bagaimanakah Mutexes Boleh Memastikan Hanya Satu Contoh Aplikasi Berjalan pada Satu Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!