Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 24385|Jawab: 4

[Sumber] Program C# hanya mengizinkan satu instance untuk menjalankan kode yang benar

[Salin tautan]
Diposting pada 10/12/2016 14.55.50 | | | |


Saya menulis perangkat lunak pemantauan lalu lintas yang saya ingin komputer berjalan hanya sekali, dan kodenya adalah sebagai berikut:



Temukan, segera, klik perangkat lunak, itu akan meminta "Sebuah instance telah dijalankan", tetapi,Setelah menunggu selama 30 detik, lalu klik perangkat lunak, dan berjalan kembali dengan suksesSekali !!

Sayang sekali.Kode di atas baik-baik saja dalam mode DEBUG, tetapi tidak berfungsi di RELEASE.
Masalahnya adalah Mutex dideklarasikan sebagai variabel lokal, dan dalam mode relese karena masalah pengoptimalan, mungkin karena kompiler berpikir Mutex tidak lagi digunakan

digunakan, didaur ulang, diuji oleh saya sendiri,

Letakkan Mutex di atas dan atur sebagai variabel statis ke !!KananKodenya adalah sebagai berikut:





Skor

Jumlah peserta1MB+1 sumbang+1 Roboh alasan
Seorang pemula kecil yang suka belajar + 1 + 1 Seperti satu!

Lihat semua penilaian





Mantan:C# hanya mengizinkan penulisan yang benar dari satu instans aplikasi untuk berjalan
Depan:Cara mengatur boot perangkat lunak secara otomatis.
 Tuan tanah| Diposting pada 10/12/2016 15.02.58 |
Bidang statis tidak didaur ulang oleh GC, bidang statis dialokasikan di tumpukan Loader, tumpukan non-GC, dan tidak dikendalikan oleh GC.

Anggota statis (dari kelas statis atau tidak) hanya didaur ulang saat mencapai AppDomain.UnLoad. Kelas statis hanya diizinkan memiliki anggota statis
Diposting pada 06/12/2017 11.48.05 |
Belajar, terima kasih telah berbagi
 Tuan tanah| Diposting pada 23/02/2018 14.59.01 |
Implementasi lainnya:

Metode startup:



 Tuan tanah| Diposting pada 03/10/2025 16.10.11 |
.NET/C# mengimplementasikan program singleton berdasarkan Mutex dan MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com