码迷,mamicode.com
首页 > Windows程序 > 详细

C# 同步锁 lock Monitor

时间:2016-04-10 19:31:50      阅读:304      评论:0      收藏:0      [点我收藏+]

标签:

Lock关键字

  C#提供lock关键字实现临界区,MSDN里给出的用法:

Object thisLock = new Object();
lock (thisLock)
{
   // Critical code section
}

 

还有一种是比lock更“高级”的Monitor:

       private static object obj = new object();
        public static void SomeMethod()
        {
            bool lockTaken=false; //假定没有获取锁
            try
            {
                //无论是否抛出异常下面代码都正常运行
                Monitor.Enter(obj, ref lockTaken);

                //执行线程安全的操作...
            }
            catch (Exception ex)
            {
                //异常捕获
            }
            finally
            {
                //如果已获锁就释放
                if (lockTaken)
                    Monitor.Wait(obj);
            }
        }

 

C# 同步锁 lock Monitor

标签:

原文地址:http://www.cnblogs.com/dragon-L/p/5374970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!