-
公平锁
指按照线程的请求的顺序来获取对象的锁 只有当前一个对象释放对象锁之后后面线程才能获取 否则就会等待
例如:Synchronized关键字 -
非公平锁
指不是按照线程的访问顺序来获取锁的,可能是优先级较高的线程先获取锁对象,非公平锁的优点在于吞吐量比公平锁要大,缺点在于如果一直有优先级高的线程获取锁对象,那么优先级低的对象就会一直出现饥饿状态,无法获取锁对象。
例如:在java的并发包里面ReenTrantLock,通过构造函数的boolean类型来进行指定是否是公平锁
java多线程-公平锁和非公平锁
最新推荐文章于 2024-04-13 13:42:15 发布