`

独享锁/共享锁

    博客分类:
  • Lock
阅读更多

原创转载请注明出处:https://agilestyle.iteye.com/blog/2443635

 

独享锁:该锁每一次只能被一个线程所持有,参考synchronized以及JUC包下的ReentrantLock

共享锁:该锁可被多个线程共有,典型的就是ReentrantReadWriteLock里的读锁,它的读锁是可以被共享的,但是它的写锁每次只能被读占,读锁的共享可保证并发读是非常高效的,但是读写和写写,写读都是互斥的,参考JUC包下的ReentrantReadWriteLock

 

独享锁和共享锁都是通过AQS队列来实现的,通过实现不同的方法,来实现独享或者共享。

 

 

分享到:
评论

相关推荐

    Java锁的种类以及区别

    一、公平锁/非公平锁,二、可重入锁,三、独享锁/共享锁,四、互斥锁/读写锁

    数据库分表处理设计思想和实现

    就是说,如果前一个SQL没有执行完毕的话,后面的SQL是不会执行的,因为为了保证数据的完整性,必须对数据表文件进行锁定,包括共享锁和独享锁两种锁定。共享锁是在锁定的期间,其它线程也可以访问这个数据文件,但是...

    java并发包源码-ConcurrentTest:Java并发包下源码阅读与自己的测试

    java并发包源码并发测试 受保护的最终int tryAcquireShared(int未使用){/ * *演练:* 1.如果另一个线程持有写锁定,则失败。 * 2.否则,此线程符合*锁定wrt状态,...//如果第一个加入其中的是独享锁即写锁,返回tr

    Linux系统编程之线程同步

    资源共享(独享资源则不会) 2. 调度随机(意味着数据访问会出现竞争) 3. 线程间缺乏必要的同步机制。 以上3点中,前两点不能改变,欲提高效率,传递数据,资源必须共享。只要共享资源,就一定会出现竞争。只要...

    java面试800题

    4:Share 共享锁(S):阻止其他DML操作 5:S/Row-X 共享行专用(SRX):阻止其他事务操作 6:exclusive 专用(X):独立访问使用 数字越大锁级别越高, 影响的操作越多。" Q0038 创建XML文件的格式? " …</root>" ...

    《计算机操作系统》期末复习指导

    产生死锁的原因是共享资源有限,多个进程对共享资源的竞争,而且操作不当。 (2)产生死锁的四个必要条件是资源互斥使用、保持和等待、非剥夺性、循环等待。 (3)解决死锁的方法 一般有死锁的预防...

    轻笔记 For Android v4.1.zip

     首款与网盘结合的笔记软件,用百度帐号登录即享额外15GB空间和超快的访问速度,附件自动存储到网盘  独创的群组笔记功能,让您和同学共享课堂笔记,同工作伙伴共同完成项目,小团队的移动WIKI和知识库。任何成员...

    史上最强全面解析SQLite

    目录 使用SQLite编程的快速介绍............................................................. 5 下载代码 .......................................................................... 5 创建一个新数据库 .......

    二十三种设计模式【PDF版】

    设计模式之 Flyweight(共享元) 提供 Java运行性能,降低小而大量重复的类的开销. C. 行为模式 设计模式之 Command(命令) 什么是将行为封装,Command 是最好的说明. 设计模式之 Observer(观察者) 介绍如何使用 ...

    超级有影响力霸气的Java面试题大全文档

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 17、...

    java 面试题 总结

    wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 14、Overload...

    asp.net知识库

    技术基础 New Folder 多样式星期名字转换 [Design, C#] .NET关于string转换的一个小Bug Regular Expressions 完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 ...

Global site tag (gtag.js) - Google Analytics