Use Monitors : Monitor « Thread « C# / CSharp Tutorial






using System;
using System.Collections;
using System.Threading;

class MainClass
{
  public static ArrayList MyList = new ArrayList();
  
  static void Main(string[] args)
  {
      Thread ThreadOne = new Thread(new ThreadStart(MonitorExample));
    ThreadOne.Start();
  }
  static void MonitorExample()
  {
    Monitor.Enter(MyList);
    MyList.Add("a value");
    Monitor.Exit(MyList);
  }
}








20.19.Monitor
20.19.1.Use Wait() and Pulse() to create a ticking clock
20.19.2.Use Monitors
20.19.3.Monitor: Enter and Exit
20.19.4.Monitor: try to enter
20.19.5.Coordinate two threads using Monitor
20.19.6.Use Monitor to control more than one Threads
20.19.7.Increment Monitor
20.19.8.Monitor Pool
20.19.9.Throw exception between Monitor.Enter and Montor.Exit
20.19.10.Using A Monitor
20.19.11.Use lock and Monitor to coordinate Producer and Consumer