Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 24385|Odpověď: 4

[Zdroj] Programy v C# umožňují pouze jedné instanci spustit správný kód

[Kopírovat odkaz]
Zveřejněno 10.12.2016 14:55:50 | | | |


Napsal jsem software pro monitorování provozu, který chci, aby počítač běžel jen jednou, a kód je následující:



Najděte ihned a klikněte na software, zobrazí se výzva "Instance byla spuštěna", ale,Po 30 sekundách kliknutí na software a hra opět úspěšně běžíJednou!!

To je škoda.Výše uvedený kód je v DEBUG režimu v pořádku, ale v režimu RELEASE nefunguje.
Problém je v tom, že Mutex je deklarován jako lokální proměnná a v režimu relese kvůli optimalizačním problémům, pravděpodobně proto, že kompilátor si myslí, že Mutex už není používán

Použito, recyklováno, testováno mnou,

Dej Mutex navrch a nastav ho jako statickou proměnnou pro !!VpravoKód je následující:





Partitura

Počet účastníků1MB+1 přispět+1 Zhroucení důvod
Malý začátečník, který rád studuje + 1 + 1 Jako jedna!

Zobrazit všechna hodnocení





Předchozí:C# umožňuje správné zápisy pouze jedné instance aplikace
Další:Jak nastavit automatické spuštění softwaru.
 Pronajímatel| Zveřejněno 10.12.2016 15:02:58 |
Statická pole nejsou recyklována GC, statická pole jsou alokována do haldy Loader, haldy mimo GC a nejsou řízena GC.

Statické členy (ať už statických tříd nebo ne) se recyklují pouze tehdy, když dosáhnou AppDomain.UnLoad. Statické třídy mohou mít pouze statické členy
Zveřejněno 06.12.2017 11:48:05 |
Jsem se naučil, děkuji za sdílení
 Pronajímatel| Zveřejněno 23.02.2018 14:59:01 |
Další implementace:

Metoda startu:



 Pronajímatel| Zveřejněno 03.10.2025 16:10:11 |
.NET/C# implementuje programový singleton založený na Mutex a MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com