java 锁的分类
Posted 知己一生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 锁的分类相关的知识,希望对你有一定的参考价值。
java中为了解决多线程并发带来的线程安全问题,引入了锁机制。
java的加锁机制,可粗略分为两种:
1.内置锁。
什么是内置锁?把一个对象用作实现同步的锁,这样的锁就是内置锁。这是基于互斥的思想来实现的锁,即只有一个线程可以持有某一个锁。
显然这样做可以保证线程安全,但是性能方面不那么友好。比如直接将某个方法声明为synchronized。
2.重入锁。
重入锁是指当一个线程获取已经由它自己持有的锁,就会成功,这样意味着锁操作的粒度由 调用 降低到了 线程,如何实现这种机制呢,可以采用程序计数器法。
重入锁,降低了锁操作的粒度,大幅提升了性能。比如java并发包下的ReentrantLock 。当然它也可以解决线程死锁的问题。
以上是关于java 锁的分类的主要内容,如果未能解决你的问题,请参考以下文章