首页 > 编程语言 > 详细

多线程交替执行

时间:2021-08-21 08:24:15      阅读:17      评论:0      收藏:0      [点我收藏+]

开2个线程, 在winform界面有个label, 第1个线程负责假如是label是奇数就+1; 第2个线程负责,假如label是偶数就加1; 希望2个线程交替执行, 从0加到50; 界面上的label也要依次变化

 

        public static ManualResetEvent mr1 = new ManualResetEvent(false);//工位1阻塞信号 默认堵塞
        public static ManualResetEvent mr2 = new ManualResetEvent(false);//工位2阻塞信号 默认堵塞

 int CurrentNum = frm.GetText().ToInt();

            while (CurrentNum < 50)
            {
                CurrentNum = frm.GetText().ToInt();
                //偶数时,左工位线程执行+1
                if (CurrentNum % 2 == 0 && nFix == 1)
                {
                    mr1.WaitOne();
                    frm.SetText((CurrentNum + 1).ToString());
                    Console.WriteLine("左工位:" + (CurrentNum + 1));
                    
                    mr2.Set();
                    
                }
                //奇数时,右工位线程执行+1
                if (CurrentNum % 2 != 0 && nFix == 2)
                {
                    mr2.WaitOne();
                    frm.SetText((CurrentNum + 1).ToString());
                    Console.WriteLine("右工位:" + (CurrentNum + 1));
                    mr1.Set();
                   
                }

                
            }

 

参考: https://www.bilibili.com/video/BV1gv411E7LH

https://www.cnblogs.com/masonlu/p/11470965.html

 

多线程交替执行

原文:https://www.cnblogs.com/zitjubiz/p/15168594.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!