zoukankan      html  css  js  c++  java
  • 重入锁

    返回主页面

    重入锁ReentradeLock

    情景:当一个线程调用Mutex的lock()方法获取锁之后,如果再次调用lock()方法,则线程会被自己锁阻塞,原因是Mutex在实现tryAcquire(int acquires)方法时没有考虑占有锁的线程再次获取锁的场景,而在调用tryAcquire(int acquires)方法时,返回了false,导致该线程被阻塞。

    简单地说,Mutex是一个不支持重进人的锁。而synchronized关键字隐式的支持重进入,比如一个synchronized修饰的递归方法,在方法执行时,执行线程在获取了锁之后仍能连续多次地获得该锁,而不像Mutex 由于获取锁,而在下一次获取锁时出现阻塞自己的情况。

    一个锁获取的公平性问题,如果在绝对时间上,先对锁进行获取的请求一个先被满足,那么这个锁是公平的,反之是不公平的。

  • 相关阅读:
    LRu Cache算法原理
    c# 哈希表
    c# 获取二维数组的行数和列数
    Linq
    DataTable使用
    Wpf学习
    数据库配置
    js 数字保留两位小树
    平面数据转换为树形结构
    mysql操作
  • 原文地址:https://www.cnblogs.com/tianzhiyun/p/9581163.html
Copyright © 2011-2022 走看看