码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的锁

时间:2017-09-04 00:48:05      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:调度   www.   syn   可重入锁   优先级反转   获取   通过   优先   优先级   

1 公平锁/非公平锁

公平锁是指多个线程按照申请锁的顺序来获取锁。

非公平锁是指多个线程按照申请锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。

对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,默认是非公平锁。非公平锁的优点在于吞吐量比公平锁大。

对于Synchronized而言,也是一种非公平锁。由于其并不像ReentrantLock是通过AQS来实现线程调度,所以并有任何办法使其变成公平锁。

 

2 可重入锁

可重入锁又名递归锁,是指在同一个线程在外层方法获取

http://www.cnblogs.com/qifengshi/p/6831055.html

Java中的锁

标签:调度   www.   syn   可重入锁   优先级反转   获取   通过   优先   优先级   

原文地址:http://www.cnblogs.com/chengdabelief/p/7471870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!