public static void Main()
    {
        SemaphoreDemo sd = new SemaphoreDemo();
        Thread        t1 = new Thread(sd.InserterMethod);
        Thread        t2 = new Thread(sd.ReaderMethod);
        Thread        t3 = new Thread(sd.InserterMethod);
        Thread        t4 = new Thread(sd.InserterMethod);

        t1.Name = "Inserter Thread 1";
        t2.Name = "Reader Thread";
        t3.Name = "Inserter Thread 2";
        t4.Name = "Inserter Thread 3";
        t2.Start();
        Thread.Sleep(10);
        SemaphoreDemo._inserterPool.Release(2);
        t1.Start();
        t3.Start();
        t4.Start();
        t1.Join();
        t2.Join();
        t3.Join();
        t4.Join();
    }
Exemple #2
0
        static void Main()
        {
            //AutoResetEventDemo.Run();

            SemaphoreDemo.Run();
        }