ManualResetEvent实现生产者消费者模式

  public class MreTest1
        {
            public static ManualResetEvent mre = new ManualResetEvent(false);

            public static void Add()
            {

                while (true)
                {
                    Thread.Sleep(1000);
                    Console.WriteLine(Thread.CurrentThread.Name + "\t生产者");
                    MreTest2.mre.Set();

                    mre.Reset();                    
                    mre.WaitOne();
                 
                }

            }
        }

        public class MreTest2
        {
            public static ManualResetEvent mre = new ManualResetEvent(false);
            public static void Del()
            {
                mre.WaitOne();
                while (true)
                {
                    Thread.Sleep(2000);
                    Console.WriteLine(Thread.CurrentThread.Name + "\t消费者");
                    MreTest1.mre.Set();

                    mre.Reset();                    
                    mre.WaitOne();                

                }

            }

        }

 

posted @ 2015-06-28 17:18  nbu_djw  阅读(163)  评论(0编辑  收藏  举报