Dalam pembangunan .NET WPF, memastikan bahawa aplikasi itu hanya dapat menjalankan satu contoh untuk memahami konsep penguncian bersama. Kunci bersama (atau objek yang saling eksklusif) adalah mekanisme penyegerakan yang menghalang pelbagai benang atau proses daripada mengakses sumber yang dikongsi pada masa yang sama.
Untuk mencapai fungsi tunggal, sila ikuti langkah -langkah di bawah:
Buat kunci bersama
Mutex.WaitOne()
: Jika ada contoh yang ada, sila gunakan mesej Win32 (melalui true
) untuk menghantar mesej tersuai untuk mengaktifkan contoh tersebut. Gunakan untuk mendaftarkan mesej tetingkap tersuai dan tutup false
untuk mendengar mesej. PostMessage()
Rawatan contoh kedua RegisterWindowMessage()
: Apabila contoh kedua diaktifkan, ia akan cuba mendapatkan kunci bersama, tetapi ia akan gagal. Ia tidak sepatutnya memaparkan mesej ralat, tetapi harus memberitahu contoh dan keluar yang sedia ada. WndProc()
PostMessage()
Sila ambil perhatian bahawa kelas ditinggalkan di sini kerana ia mengandungi kod yang berkaitan dengan platform. Anda perlu mencapai diri anda mengikut keperluan anda.
Ia juga perlu digantikan dengan pengecam unik, seperti GUID permohonan anda.Atas ialah kandungan terperinci Bagaimana untuk melaksanakan aplikasi WPF tunggal menggunakan mutexes?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!