当前位置: 首页 > news >正文

服饰网站建设 e-idea建站系统平台

服饰网站建设 e-idea,建站系统平台,海宁做网站,做网站买虚拟服务器//本文演示了ManualResetEvent 类的非静态set()、Reset()、WaitOne()和 //WaitHandle类的静态方法WaitAllWaitAll() //它们用于线程间的同步控制。 //实现了如下功能:线程1(定时控制)通知线程2和线程3采集数据 //线程2和3数据采集完了&am…

//本文演示了ManualResetEvent 类的非静态set()、Reset()、WaitOne()和

//WaitHandle类的静态方法WaitAllWaitAll()

//它们用于线程间的同步控制。

//实现了如下功能:线程1(定时控制)通知线程2和线程3采集数据

//线程2和3数据采集完了,各自通知线程1情况。

//那么线程1收到了两个线程的通知,则进行下一轮采集

static void Main(string[] args)
        {
            const int numberOfFiles=2;
            Console.WriteLine("Press any key to start");
            Console.ReadKey();
            var cancelToken = new CancellationTokenSource();
            var random = new Random();
            Console.WriteLine("Task started, press any key to stop...");
    
            var manualResetEvent1 = new ManualResetEvent(false);
            var manualResetEvent2 = new ManualResetEvent(false);
            ManualResetEvent [] manualEvents = new ManualResetEvent[numberOfFiles];
            for (int i = 0; i < numberOfFiles; i++)
            {
                manualEvents[i] = new ManualResetEvent(false);
            }
            bool reached = true;

            //线程1
            Task.Factory.StartNew(() =>
            {

                while (!cancelToken.IsCancellationRequested)
                {

                    if (reached)
                    {
                        manualResetEvent1.Set();
                        manualResetEvent2.Set();
                        Console.WriteLine("Start new turn-----------------------");
                    }
                   
                    Thread.Sleep(300);
                    reached = WaitHandle.WaitAll(manualEvents,400,false);
                    manualEvents[0].Reset();
                    manualEvents[1].Reset();
                }
            });

            //线程2
            Task.Factory.StartNew(() =>
            {
                var num = random.Next(10, 15);
               
                while (!cancelToken.IsCancellationRequested)
                {
                    manualResetEvent1.WaitOne();
                    Thread.Sleep(200);
                    num = random.Next(10, 15);
                    Console.WriteLine($"Task1 is running, this is number {num} ");
                   
                    manualResetEvent1.Reset();
                    manualEvents[0].Set();
                }
            });

            //线程3
            Task.Factory.StartNew(() =>
            {
                var num = random.Next(5, 10);
                
                while (!cancelToken.IsCancellationRequested)
                {
                    manualResetEvent2.WaitOne();
                    Thread.Sleep(100);
                    num = random.Next(5, 10);
                    Console.WriteLine($"Task2 is running, this is number {num}");
                    manualResetEvent2.Reset();
                    manualEvents[1].Set();
                }
            });


            Console.ReadLine();
            cancelToken.Cancel();
            Console.WriteLine("task cancelled");
            Console.ReadLine();
        }

http://www.yayakq.cn/news/706724/

相关文章:

  • 绵阳市网站建设南宁网站建设哪
  • 需要做网站的行业建设工程有限公司是干什么的
  • 网站建设服务器的选择方案有WordPress搜索按钮代码
  • h5企业模板网站模板云南建设工程信息网站
  • 网站切片怎么做wordpress 5.2中文
  • 各地民营企业创新前行seo服务器
  • 网站项目遇到的问题网站开发服务费会计处理
  • 北京市电力建设公司网站网盘可以做网站空间吗
  • 自己做网站用什么软件襄阳市做网站 优帮云
  • 西安网站关键词推广百度竞价广告代理
  • 南宁建行 网站网站建设系统哪个好
  • 网站 标题 关键词 描述自己怎样建设网站
  • 水利工程建设信息网站大学生网站建设
  • 建设一个电商网站的步骤宁波工业设计最好的公司
  • 织梦网络公司网站源码建站优化一条龙
  • 杭州做网站找力果大庆做网站找谁
  • 重庆帝一网络网站建设专家服装设计需要学什么科目
  • seo站外优化平台合肥网站制作推广
  • 光明网站建设广告网页
  • 青岛网站排名推广wordpress 作者标签
  • 广州网站定制商家wordpress国内中文主题
  • 做网站需要学些什么条件网站开发报酬
  • 宝安石岩网站建设佛山手机网站设计制作
  • 湛江市建网站手机端app怎么开发
  • 网站域名实名制荆州seo技术厂家
  • 开原网站建设ppt做的比较好的网站有哪些
  • 郴州做网站 郴网互联网上申报办税系统
  • 用CMS做网站的好处网站流量分成
  • 高仿酒网站怎么做网页设计论文的研究内容
  • 大连市城乡建设档案馆网站商品详情页面模板