Monitor
来源:互联网 发布:便宜质量好的鞋子知乎 编辑:程序博客网 时间:2024/05/17 09:20
将为每个同步对象来维护以下信息:
对当前持有锁的线程的引用。
对就绪队列的引用,它包含准备获取锁的线程。
对等待队列的引用,它包含正在等待锁定对象状态变化通知的线程。
Monitor有几个主要的方法,我们需要了解
1.Monitor.Enter和Monitor.Exit
他们两个是一起的,我们在一个方法中,如果调用了Monitor.Enter,那么就必须有相应的Monitory.Exit方法与之对应。这两个方法用于锁定对象和取消锁定对象,在平时的使用中,我们一般用lock取代他们。
2.Monitor.Wait方法
当线程调用 Wait 时,它释放对象的锁并进入对象的等待队列,对象的就绪队列中的下一个线程(如果有)获取锁并拥有对对象的独占使用。
3.Monitor.Pulse方法
当前线程调用此方法以便向队列中的下一个线程发出锁的信号。接收到脉冲后,等待线程就被移动到就绪队列中。在调用 Pulse 的线程释放锁后,就绪队列中的下一个线程(不一定是接收到脉冲的线程)将获得该锁。
Monitor 类似实现了一个线程池,而信号量:MenualRestEvent不具备队列的概念
- monitor
- Monitor
- Monitor
- Monitor
- monitor
- Monitor
- Monitor.Wait&Monitor.Pulse
- SNMP Monitor
- qRFC-Monitor
- monitor线程
- Monitor MMS
- Monitor Object
- java monitor
- Oracle Monitor
- $monitor(...)//$display(...)
- ubuntu monitor
- Monitor Link
- 配置Monitor
- “中国315电子商务诚信平台”正式启动
- 实例对比剖析c#引用参数的用法
- 实验“最牛B的Linux Shell命令 系列连载(一)”
- Windows Mobile 编译的内部结构和步骤(转载)
- 7款开源ERP系统比较
- Monitor
- 我的Blog:http://www.cnblogs.com/zhhailon/
- 好汗
- 50个c/c++源代码网站
- 关于坚持
- 喜悦
- Question 39: Which of the following are possible outputs of the C++ code below?
- SQL级联删除
- HDUOJ1003 Max Sum