Use the lock object
using System;
using System.Threading;
class MainClass
{
private int Runs = 0;
public void CountUp()
{
while (Runs < 10)
{
lock(this)
{
int Temp = Runs;
Temp++;
Console.WriteLine(Thread.CurrentThread.Name + " " + Temp);
Thread.Sleep(1000);
Runs = Temp;
}
}
}
public void RunThreads()
{
Thread t2 = new Thread(new ThreadStart(CountUp));
t2.Name = "t2";
Thread t3 = new Thread(new ThreadStart(CountUp));
t3.Name = "t3";
t2.Start();
t3.Start();
}
public static void Main()
{
MainClass ex = new MainClass();
ex.RunThreads();
}
}
Output t2 1
t3 2
t2 3
t3 4
t2 5
t3 6
t2 7
t3 8
t2 9
t3 10
t2 11
|
HTML code for linking to this page:
Related in same category :
-
-
-
-
-
-
|