当前位置:首页 > 开发 > 编程语言 > 持续集成 > 正文

Java 重入锁(ReentrantLock)和内部锁(synchronized)

发表于: 2014-10-16   作者:annan211   来源:转载   浏览次数:
摘要:   ReentrantLock 和 synchronize的 都是java 提供的锁机制,重入锁可以解决所有的内部锁的问题,那么问题来了,为什么还需要保持这两种锁同时存在呢。    首先确定一点,如果没有特殊要求,内部锁仍然是我们进行并发编程的首选。    在Jdk 1.5 之后,内部锁在性能上已经和重入锁相差不大。  &n

  ReentrantLock 和 synchronize的 都是java 提供的锁机制,重入锁可以解决所有的内部锁的问题,那么问题来了,为什么还需要保持这两种锁同时存在呢。

   首先确定一点,如果没有特殊要求,内部锁仍然是我们进行并发编程的首选。

   在Jdk 1.5 之后,内部锁在性能上已经和重入锁相差不大。
   但是重入锁提供了更为强大的功能,比如 提供了锁等待时间、支持锁中断、和快速轮询,这些技术有助于避免死锁的产生,从而提高系统的稳定性。

Java 重入锁(ReentrantLock)和内部锁(synchronized)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
推荐 : ReentrantLock与synchronized 1. 什么是可重入锁? - “就是可以重新获得锁!”可重入的意
《java并发编程实践》一书中,关于synchronized内置锁的可重入的例子如下: ----------------------
《java并发编程实践》一书中,关于synchronized内置锁的可重入的例子如下: ----------------------
最近在读<<Java并发编程实践>>,在第二章中线程安全中降到线程锁的重进入(Reentrancy
最近在读<<Java并发编程实践>>,在第二章中线程安全中降到线程锁的重进入(Reentrancy
最近在读<<Java并发编程实践>>,在第二章中线程安全中降到线程锁的重进入(Reentrancy
最近在读<<Java并发编程实践>>,在第二章中线程安全中降到线程锁的重进入(Reentrancy
synchronized,称为内部锁或监视器。 当线程释放锁时,JMM会把该线程对应的本地内存中的共享变量刷
1 synchronized原理 synchronized关键字编译后会在同步块的前后添加上montorenter和monitorexit两个
1 synchronized原理 synchronized关键字编译后会在同步块的前后添加上montorenter和monitorexit两个
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号