首页 > 其他 > 详细

Monitor关键字

时间:2018-07-03 11:12:58      阅读:168      评论:0      收藏:0      [点我收藏+]

Monitor提供同步访问对象的机制。

Monitor方法

Enter(Object) 在指定对象上获取排他锁。

Enter(Object,Boolean) 获取指定对象上的排他锁,并自动获取一个值,指示是否获取了该锁

Exit(Object) 释放指定对象上的排他锁

IsEntered(Object) 确定当前线程是否保留着指定对象上的锁

 Pulse(Object) 通知等待队列中的线程锁定对象状态的更改

PulseAll(Object) 通知所有等待的线程锁定对象状态的更改

TryEnter(Object) 尝试获取指定对象的排他锁

TryEnter(Object,Boolean)  尝试获取指定对象上的排他锁,并自动设置一个值,指示是否获取了该锁

TryEnter(Object,Int32) 在指定的毫秒数内,尝试获取指定对象上的排他锁

TryEnter(Object,Int32,Boolean)  在指定的毫秒数内,尝试获取指定对象上的排他锁,并自动设置一个值,指示是否获取了该锁

Wait(Object) 释放对象上的锁并阻止当前线程,直到它重新获取该锁

Wait(Object,Int32) 释放对象上的锁并阻止当前线程,直到它重新获取该锁。如果已用指定的超时间隔,则线程进入等待队列

lock关键字实际上是一个语法糖,它将Monitor对象进行封装。

       try
            {
                Monitor.Enter(obj);
                //dosomething();
            }
            catch(Exception ex)
            {
                
            }
            finally
            {
                Monitor.Exit(obj);
            }

 

Monitor关键字

原文:https://www.cnblogs.com/larry-xia/p/9256753.html

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