博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ManualResetEvent同步与互斥
阅读量:5239 次
发布时间:2019-06-14

本文共 2119 字,大约阅读时间需要 7 分钟。

 

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace ConsoleApplication1{    class Program    {                static void Main(string[] args)        {            EventWaitTest zhangsan = new EventWaitTest("张三");            EventWaitTest lisi = new EventWaitTest("李四");            Thread t1 = new Thread(new ThreadStart(zhangsan.Consume));            Thread t2 = new Thread(new ThreadStart(lisi.Consume));            Thread t3 = new Thread(new ThreadStart(EventWaitTest.Product));            t1.Start();            t2.Start();            t3.Start();            Console.Read();        }            }    public class EventWaitTest    {        private string name; //顾客姓名          //private static AutoResetEvent eventWait = new AutoResetEvent(false);          private static ManualResetEvent eventWait = new ManualResetEvent(false);        private static ManualResetEvent eventOver = new ManualResetEvent(false);        public EventWaitTest(string name)        {            this.name = name;        }        public static void Product()        {            Console.WriteLine("服务员:厨师在做菜呢,两位稍等");            Thread.Sleep(2000);            Console.WriteLine("服务员:宫爆鸡丁好了");            eventWait.Set();            while (true)            {                if (eventOver.WaitOne(1000, false))                {                    Console.WriteLine("服务员:两位请买单");                    eventOver.Reset();                }            }        }        public void Consume()        {            while (true)            {                if (eventWait.WaitOne(1000, false))                {                    Console.WriteLine(this.name + ":开始吃宫爆鸡丁");                    Thread.Sleep(2000);                    Console.WriteLine(this.name + ":宫爆鸡丁吃光了");                    eventWait.Reset();                    eventOver.Set();                    break;                }                else                {                    Console.WriteLine(this.name + ":等着上菜无聊先玩会手机游戏");                }            }        }    }}

 

转载于:https://www.cnblogs.com/wonderfuly/p/8584957.html

你可能感兴趣的文章
算法之 栈的顺序结构
查看>>
【一次面试】再谈javascript中的继承
查看>>
OpenStack cloud 第一天
查看>>
tomcat部属项目时报错:An internal error occurred during Add Deployment.java.lang.NullPointerException...
查看>>
pandas
查看>>
amoeba连接mysql--ERROR 2006 (HY000): MySQL server has gone away
查看>>
http://overapi.com/
查看>>
游戏生命周期和新服的关系
查看>>
gitlab与gitlab服务器之间的代码迁移
查看>>
NEU校园网登录器
查看>>
如何使用微信小程序video组件播放视频
查看>>
angular清除select空格
查看>>
实验10 指针进阶 程序四
查看>>
java笔记--超级类Object多线程的应用+哲学家进餐算法内部类与多线程结合
查看>>
java笔记--反射进阶之总结与详解
查看>>
(网络数据交互)Android解析Internet的Json资源文件
查看>>
抽象类于接口
查看>>
python学习 day6 (3月7日)
查看>>
BZOJ3270 博物館 概率DP 高斯消元
查看>>
Javascript的加载
查看>>