首页 > 其他 > 详细

ManualResetEvent

时间:2015-06-28 15:18:13      阅读:113      评论:0      收藏:0      [点我收藏+]
 private static Mutex m = new Mutex();

        static bool p = true;
        public static void A()
        {
            while (true)
            {
                m.WaitOne();
                p = !p;
                Thread.Sleep(5000);
                Console.WriteLine(Thread.CurrentThread.Name);
                m.ReleaseMutex();
            }
        }

        public static void B()
        {
            while (true)
            {
                m.WaitOne();
                //Thread.Sleep(500);
                Console.WriteLine(Thread.CurrentThread.Name);
                Console.WriteLine(p);
                m.ReleaseMutex();
            }
        }

个人体会:

mutex的加锁和解锁和monitor或者lock有些区别,多了通知功能。

不会因为一个线程运行快,而抢了运行慢线程的资源。

ManualResetEvent

原文:http://www.cnblogs.com/tgdjw/p/4605489.html

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