Suppose in your application if there are multiple threads who all are accessing the same resource, then just think that there might be a chance for dead locking. To avoid this type of dead locking we can implement synchronization of threads. Mutex is a synchronization method available in .net.
Lets just look to the example of Mutex :
Mutex m = new Mutex(false);
public void methodCall()
{
m.WaitOne();
int value;
string name;
Thread t = Thread.CurrentThread;
name =t.Name;
for (value=0;value<= 5;value++)
{
Thread.Sleep(1000);
System.Console.WriteLine( name + " : " + value );
}
m.Close();
}