知识大全 JAVA多线程中的锁机制

Posted

篇首语:我永远要记得我所想要的。而不是我所恐惧的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JAVA多线程中的锁机制相关的知识,希望对你有一定的参考价值。

JAVA多线程中的锁机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  JAVA中的每个对象都可以用作一个实现同步的锁 这种称为内置锁 内置锁是可重入的 因此如果某个线程试图获取一个已经由它自己持有的锁 那么这个请求就会成功

  重入的实现方法是 为每个锁关联一个获取计数值和一个所有者线程 当计数值为 这个锁就是开放的 当线程请求该锁时 JVM将记下锁的持有者 并且将计数值+ 如果同一个线程再次回去该锁 计数值继续+ 通过计数值可以看出重入的次数 计数值为 则表示锁已经释放

  看一个重入锁的实例

  class Father

  public synchronized void doSth()

  System out println( Father is doSth );

  

  

  class Child extends Father

  public synchronized void doSth()

  System out println( Child is doSth );

  super doSth();

  

  

  class Father

  public synchronized void doSth()

  System out println( Father is doSth );

  

  

  class Child extends Father

  public synchronized void doSth()

  System out println( Child is doSth );

  super doSth();

  

  

  以上一段代码 在执行Child类的super doSth()方法时 并不会发生死锁现象 这两个类中的方法都是synchronized同步的 因此执行前都会获取Father的锁 正因为是可重入的 才可以多次获取该锁 不然 第二次获取该锁时必然发生死锁现象

cha138/Article/program/Java/gj/201311/27461

相关参考

知识大全 Java多线程处理机制

Java多线程处理机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一线程的同步  Java应

知识大全 Java多线程的相关机制

Java多线程的相关机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一线程的基本概念  线程

知识大全 解析Java的多线程机制

解析Java的多线程机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一进程与应用程序的区别 

知识大全 Java多线程的同步示例及对象锁机制

Java多线程的同步示例及对象锁机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    java

知识大全 java多线程中的异常处理

  在java多线程程序中所有线程都不允许抛出未捕获的checkedexception也就是说各个线程需要自己把自己的checkedexception处理掉这一点是通过javalangRunnable

知识大全 Java程序中的多线程

Java程序中的多线程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一为什么会排队等待?  下

知识大全 Java 程序中的多线程(四)

Java程序中的多线程(四)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者NeelVKum

知识大全 Java 程序中的多线程(二)

Java程序中的多线程(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者NeelVKum

知识大全 Java 程序中的多线程(一)

Java程序中的多线程(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者NeelVKum

知识大全 浅析Java多线程编程中的高级技术

浅析Java多线程编程中的高级技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb