Con questo esempio, mostriamo come evitare l'esecuzione di due processi della stessa applicazione. Con vb net possiamo contrassegnare la casella 'rendi a istanza singola' nelle proprietà del progetto alla sezone applicazione.
Questa opzione non è disponibile in un'applicazione in esecuzione con C #, ed è qui che torna utile la classe Mutex.


using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Windows.Forms;
 using System.Threading;
 
namespace MutexClassExample
 {
     static class Program
     {
         static Mutex m;
         /// <summary>
         /// Punto di ingresso principale dell'applicazione.
         /// </summary>
         [STAThread]
         static void Main()
         {
             bool first = false;
             m = new Mutex(true, Application.ProductName.ToString(), out first);
             if ((first))
             {
                 Application.EnableVisualStyles();
                 Application.SetCompatibleTextRenderingDefault(false);
                 Application.Run(new Form1());
                 m.ReleaseMutex();
             }
             else
             {
               MessageBox.Show("Application" + " " + Application.ProductName.ToString() + " "  +"already running");
             }
         }
     }
 }