问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写一个线程同步类,用mutex

发布网友 发布时间:2小时前

我来回答

1个回答

热心网友 时间:2024-10-01 04:36

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading ;

namespace 多线程

{

    class Program

    {

        Thread thread1 = null;

        Thread thread2 = null; 

        Mutex mutex = null;

        public static void Main()

        {

            //Monitor类的使用

            //lock语句其实后台解析为Monitor类的调用 

            //Enter方法一直等待获得锁定的对象

            //Exit方法是接触锁定

            //一次只能有一个线程成为对象锁定的拥有者,只要解除了锁定,就进入了同步代码段。

            //显示使用这个类的好处理,可以用try catch,如果出现异常,也可以保证正常的解除锁定

            Program p = new Program(); 

            p.RunThread();

            Console.ReadLine();

        }

        public Program()

        { 

            mutex = new Mutex() ; 

            thread1 = new Thread( new ThreadStart( Thread1Func ) ) ; 

            thread2 = new Thread( new ThreadStart( Thread2Func ) ) ;

        }

        public void RunThread() 

        { 

            thread1.Start() ; 

            thread2.Start() ; 

        }

        private void Thread1Func() 

        {

            for (int count = 0; count < 10; count++)

            { 

                TestFunc("线程1 运行第 " + count.ToString() + " 次") ; 

                Thread.Sleep( 30 ) ;

            }

        }        

        

        private void Thread2Func() 

        {

            for (int count = 0; count < 10; count++)

            {

                TestFunc("   线程2 运行第 " + count.ToString() + " 次");

                Thread.Sleep( 100 ) ; 

            }

        }       

        

        private void TestFunc( string str) 

        {

            Console.WriteLine("{0} {1}", str,  System.DateTime.Now.Millisecond.ToString() ); 

            Thread.Sleep(50); 

        }

    }

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我老公独自开车和别车相撞,老公的车当时翻了车,人无大碍车很惨。被撞... 老公是否出轨了? Word中设置图文框位置有妙招 员工两个月没上班怎么解除劳动合同 舌苔发黄并且有口臭怎么回事 舌苔发黄 口干舌燥 舌苔发黄 口干是什么原因 网络营销怎样做?教你4步做好免费推广 在八廓街旅行有哪些当地特产值得推荐? 拉萨的哪些特产美食是游客极力安利的? c# 定义变量 不用new 直接用 是怎么回事 "避免在继承中使用new,使用override替换。"这句话是什么意思? 这段代码有点没明白。 new Thread(new Program().myThreadMethod); 这 ... ...却还要实例化Program pro = new Program();才能在Main方法里调用呢... 离园时怎么对混乱的小班幼儿整队行 梦见走路不小心掉进坡下,但又上来了 深圳企业人才引进入户条件 昨夜梦见一个女人,年轻但脸部很多皱纹,而且背了一堆的死鸡,要向我靠 ... 怎样把图片压缩到100KB以内??? 兰州城关区十大名吃?(兰州风味小吃及人情?) 我电脑360安全卫士打不开啊,重新装了个系统怎么还是打不开,打开在桌面... 360安全卫士打不开了 求高手解答 不知道为什么,我电脑的360安全卫士和任务管理栏打开不了.. 我电脑的360安全卫士为什么打不开??? 我用手机在淘宝网里购物。每件商品的邮寄费是12元。我在一家店里买了... 夏季皮肤保养小常识 夏季皮肤保养常识介绍 C语言编写用什么软件? 写C语言用什么软件好 戚读作什么? 为什么男朋友会把我拉黑? 北京工会卡有什么用途 excel2007怎么让计数数据跟着筛选结果自动变更,计数只计&gt;0的 好人一 ... EXCEL里计数的公式怎么写?就是筛选出来有多少个,我想自动显示在单元格里... ...知道歌名。其中有句:‘想念你’‘想念你’的歌词,劳烦大家告诉... 北京夭夭生物科技有限公司怎么样? 绍兴夭夭网络科技有限公司怎么样? 梦见自己抱着儿子在街上走,突然过来一群人把街道口都挡住要抓街上所有... ...在餐厅遇见的,餐厅人超级多,我怎么也走不过去。 江苏玖夭夭网络科技有限公司怎么样? ...怎么走也走不出去,还有好多人都不认识,问他们也不告诉我 ...然后来了很多人把我挤后边了,怎么也挤不到前面去,最后人 梦见和儿子回城,走开一会客车拉着儿子一个人走了,我在后面开车追,追了... 梦见推着自行车往前走,前面一片大海,有人告诉我说,推下去就是路了。可 ... 怎样有效改善脸上的黄褐斑? 怎么才能消除脸上的黄褐斑? 如何把windows7的系统换回windows XP ? win7快捷键远程桌面 ...要不就是觉得照顾不贴心,有什么好的建议吗? 广西交通职业技术学院昆仑校区在什么地方 ...一面锦旗,送给家门口的社区居委会,大家能帮我想想内容该怎么写吗...