Mam taki kod z ksiazki
public void Increment()
{
while(counter < 1000)
{
int t = Interlocked.Increment(ref counter);
Thread.Sleep(1);
counter = t;
Console.WriteLine("Increment {0}: ", counter);
}
}
public static void Main(String[] args)
{
Program p = new Program();
p.Run();
}
public void Run()
{
Thread t1 = new Thread(new ThreadStart(Increment));
Thread t2 = new Thread(new ThreadStart(Increment));
t1.IsBackground = true;
t2.IsBackground = true;
t1.Start();
t2.Start();
t1.Join();
t2.Join();
System.Console.WriteLine("Threads have stopped doing blowjobs.");
System.Console.ReadLine();
}
private int counter = 0;
}
wynik powinien byc
1
2
3
4
a jest
1
2
2
3
4
4
5
5
etc