• AutoResetEvent实现生产者消费者


    用ManulResetEvent实现生产者消费者,声明了两个ManulResetEvent类型变量,其实用一个也可以。

    现在用AutoResetEvent实现。Auto和Manual的区别是Auto只唤醒一个线程,Manual是唤醒所有。

            public class AreTest
            {
                AutoResetEvent are;
                public AreTest(AutoResetEvent are)
                { this.are = are; }
                public void Add()
                {
    
                    while (true)
                    {
                        Thread.Sleep(1000);
                        Console.WriteLine(Thread.CurrentThread.Name + "	生产者");
    
                        are.Set();
                        Console.WriteLine("通知消费者");
                        are.Reset();
                        Console.WriteLine("停止生产者");
                        are.WaitOne();
    
                    }
    
                }
                public void Del()
                {
                    while (true)
                    {
                        Thread.Sleep(2000);
                        Console.WriteLine(Thread.CurrentThread.Name + "	消费者");
                        are.Set();
                        Console.WriteLine("通知生产者");
                        are.Reset();
                        Console.WriteLine("停止消费者");
                        are.WaitOne();
                    }
                }
            }
  • 相关阅读:
    A
    博弈论
    K
    快速幂
    基数排序
    计数排序
    KMP求字符串最小循环节
    二分图多重匹配
    hdu2818行列匹配+排序
    二分图行列匹配与最大匹配必须边
  • 原文地址:https://www.cnblogs.com/tgdjw/p/4605937.html
Copyright © 2020-2023  润新知