thread07
来源:互联网 发布:黑马28期java就业班 编辑:程序博客网 时间:2024/06/03 15:38
package com.neutron.t07;import java.util.concurrent.TimeUnit;/** * 问题:一个线程是否是否可以调用另一个同步方法呢? */public class T07 { public static synchronized void set2() { get2(); System.out.println("hello set2"); try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { e.printStackTrace(); } } public static synchronized void get2() { System.out.println("hello get2"); try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } } /** 运行结果: hello get2 hello set2 */ public static void main(String[] args) { set2(); }}/* 过程解说: 1.1个synchronized修饰的方法是可以调用另一个synchronized修饰的方法 同一个线程已经拥有了某个对象的锁,在当前线程再申请时依旧会获得当前对象的锁,也就是说synchronized的锁是可重入的。 */