Mega Code Archive

 
Categories / C# Tutorial / Thread
 

Shared resource without lock

using System; using System.Threading; class MainClass {   private int Runs = 0;   public  void CountUp()    {     while (Runs < 10)     {       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();   } } t2 1 t3 1 t2 2 t3 2 t2 3 t3 3 t2 4 t3 4 t2 5 t3 5 t2 6 t3 6 t3 7 t2 7 ^CTerminate batch job (Y/N)? n