zoukankan      html  css  js  c++  java
  • 关于Monitor和lock的锁操作 笔记

    简介:

    关于锁操作这里不再过多介绍,有关锁的知识很多地方都会用到,例如:进程锁、数据库锁等等,了解这些是非常必要的,下面做一下关于CRL书本中再第十一章提到的monitor,课本只是用到了也没怎么讲,所以在这里做个笔记。

    monitor相对于lock可以说是更高级/更好,主要了解有两方面:

    1.在功能上,monitor不仅仅具有lock的功能,monitor还具有tryenter(event,time)、wait()/pause()。

    2.在性能上,底层IL使用的就是monitor,如果在代码中使用lock,那么还需要在低层转换为monitor。

    关于monitor的具体解析(纯属摘抄):(具体可查看该链接(https://www.cnblogs.com/wangyonglai/p/8241724.html)

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

    IsEntered 确定当前线程是否保留指定对象锁。
    Pulse 通知等待队列中的线程锁定对象状态的更改。
    PulseAll 通知所有的等待线程对象状态的更改。
    TryEnter(Object) 试图获取指定对象的排他锁。
    TryEnter(Object, Boolean) 尝试获取指定对象上的排他锁,并自动设置一个值,指示是否得到了该锁。
    Wait(Object) 释放对象上的锁并阻止当前线程,直到它重新获取该锁。

    案列:  待续...

  • 相关阅读:
    剑指Offer47 不用加减乘除做加法
    剑指Offer46 求1+2+...+n
    剑指Offer45 约瑟夫环
    剑指Offer44 扑克牌的顺子
    剑指Offer43 n个骰子点数概率
    面试题分享
    初识python版本
    redis安装部署
    配置本地yum源
    闭包、装饰器
  • 原文地址:https://www.cnblogs.com/namejr/p/13693577.html
Copyright © 2011-2022 走看看