Csharp, dotnet...

Faire des mutex en CSharp

Les mutex permettent de gérer l'acces exclusif à une resssource. Un mutex peut etre posé par un process et etre visible par l'autre. Un seul des deux process aura le mutex.

Pour faire simple, il suffit de creer un mutex et d'essayer de le prendre, si on en peut pas quelqu'un d'autre l'a deja pris.

Les mutex peuvent etre utilisés pour éviter de lancer deux fois la même application.

 

System.Threading.Mutex mutex = new System.Threading.Mutex(false, "Singleton");

if (mutex.WaitOne(0, false))

        lancerAppli(args);

else

       return;

 

 

 

Pour vérifier l'état des mutex, ojn peut utiliser le célèbre process explorer de systinternals. Il suffit de chercher dans les mutants du process courant, ou alors de faire un find Handle... on verra le nom du mutex, si il est pris (held) et par qui... eventuellement on pourra forcer un close

 

 

17:33 - 21/04/2008 - poster commentaire

Page Précédente Page Suivante
Description
Quelques notes sur csharp et dotnet

«  10 2008  »
LunMarMerJeuVenSamDim
 12345
6789101112
13141516171819
20212223242526
2728293031 

Accueil
Archives
Amis

Articles Recents
- System.Diagnostics simple ou pour les nuls, exemple
- Faire des mutex en CSharp
- progressbar, statusbar, invoke, invokerequired
- dot.net csharp profiler profile
- Log4net : traces applicatives dans dotnet : mise en place rapide et sale

Amis
- ben
- Christelle
- bartheju
- REBRAB
- BizigDu