Mega Code Archive

 
Categories / C# / Thread
 

Illustrates the use of the lock object

/* Mastering Visual C# .NET by Jason Price, Mike Gunderloy Publisher: Sybex; ISBN: 0782129110 */ /*   Example14_8.cs illustrates the use of the lock object */ using System; using System.Threading; public class Example14_8  {   // a shared counter   private int Runs = 0;   // the CountUp method increments the shared counter   public  void CountUp()    {     while (Runs < 10)     {       lock(this)       {         int Temp = Runs;         Temp++;         Console.WriteLine(Thread.CurrentThread.Name + " " + Temp);         Thread.Sleep(1000);         Runs = Temp;       }     }    }   public static void Main()    {     // Make an instance of this class     Example14_8 ex = new Example14_8();     // And run the test outside of the static method     ex.RunThreads();   }   public void RunThreads()   {     // create and launch two threads     Thread t2 = new Thread(new ThreadStart(CountUp));     t2.Name = "t2";     Thread t3 = new Thread(new ThreadStart(CountUp));     t3.Name = "t3";     t2.Start();     t3.Start();   } }