Mutex Nedir ?
Bazı durumlarda bir kaynağı birden fazla thread kullanmak isteyebilir bu durumda deadlock lar meydana gelebilir bu durumları engellemek için mutex kullanılır, kısaca mutex bir thread işlem yaparken diğer threadların onu beklemesidir(Tuvalet mantığı gibi).
Örnek kod:
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace ProgramcininGunlugu
{
class Program
{
[STAThread]
static **** Main(string[] args)
{
bool Acik = false;
Mutex mutex = new Mutex(true, "Programcinin Gunlugu", out Acik);
if (Acik)
{
for (int i = 2; i <= 1000; i++)
{
int a = 0;
for (int j = 1; j <= i; j++)
{
if ((i % j) == 0)
{
a++;
}
}
if (a == 2) Console.Write(i + ", ");
}
}
else
{
Console.WriteLine("Uygulamadan aynı anda bir tane açabilirsiniz!");
}
Console.ReadLine();
}
}
}