java 锁的分类

Posted 知己一生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 锁的分类相关的知识,希望对你有一定的参考价值。

  java中为了解决多线程并发带来的线程安全问题,引入了锁机制。

     java的加锁机制,可粗略分为两种:

  1.内置锁。

  什么是内置锁?把一个对象用作实现同步的锁,这样的锁就是内置锁。这是基于互斥的思想来实现的锁,即只有一个线程可以持有某一个锁。

  显然这样做可以保证线程安全,但是性能方面不那么友好。比如直接将某个方法声明为synchronized。

  2.重入锁。

  重入锁是指当一个线程获取已经由它自己持有的锁,就会成功,这样意味着锁操作的粒度由 调用 降低到了 线程,如何实现这种机制呢,可以采用程序计数器法。

  重入锁,降低了锁操作的粒度,大幅提升了性能。比如java并发包下的ReentrantLock 。当然它也可以解决线程死锁的问题。

以上是关于java 锁的分类的主要内容,如果未能解决你的问题,请参考以下文章

java 锁的分类

Java Review - 并发编程_锁的分类

Java Review - 并发编程_锁的分类

Java中的锁

java有哪些锁种类

Mysql中的锁