ManualResetEvent

时间:2015-06-28 15:18:13   收藏:0   阅读:114
 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有些区别,多了通知功能。

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

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

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!