Shared resource without lock : Lock : Thread C# Examples


C# Examples » Thread » Lock »

 

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();
    }
}
    
   
  
   



Output

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


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Thread
» Lock