Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 24385|Odgovoriti: 4

[Vir] C# programi dovoljujejo le enemu primeru, da zažene pravilno kodo

[Kopiraj povezavo]
Objavljeno na 10. 12. 2016 14:55:50 | | | |


Napisal sem programsko opremo za spremljanje prometa, ki jo želim, da računalnik zažene samo enkrat, koda pa je naslednja:



Takoj poiščite in kliknite na programsko opremo, ki bo zahtevala "Instanca je bila zagnana", vendar,Po 30 sekundah čakanja kliknem na programsko opremo in se spet uspešno zaženeEnkrat!!

Škoda.Zgornja koda je v DEBUG načinu v redu, vendar ne deluje v RELEASE.
Težava je v tem, da je Mutex deklariran kot lokalna spremenljivka in v relese načinu zaradi optimizacijskih težav, morda zato, ker prevajalnik meni, da Mutex ni več v uporabi

Uporabljam, recikliram, testiram sam,

Na vrh postavi Mutex in ga nastavi kot statično spremenljivko za !!DesnoKoda je naslednja:





Partitura

Število udeležencev1MB+1 prispevati+1 Propad razlog
Mali začetnik, ki obožuje učenje + 1 + 1 Kot ena!

Oglejte si vse ocene





Prejšnji:C# omogoča pravilno pisanje le ene instance aplikacije
Naslednji:Kako samodejno nastaviti zagon programske opreme.
 Najemodajalec| Objavljeno na 10. 12. 2016 15:02:58 |
Statična polja GC ne reciklira, statična polja se dodeljujejo v Loader heap, ne-GC heap in jih GC ne nadzoruje.

Statični člani (statični razredi ali ne) se reciklirajo šele, ko dosežejo AppDomain.UnLoad. Statični razredi smejo imeti le statične člane
Objavljeno na 6. 12. 2017 11:48:05 |
Sem se naučil, hvala, ker si delil
 Najemodajalec| Objavljeno na 23. 02. 2018 14:59:01 |
Druge implementacije:

Metoda zagona:



 Najemodajalec| Objavljeno na 3. 10. 2025 16:10:11 |
.NET/C# implementira program singleton na osnovi Mutex in MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com