package com.tij.thread.cancel;
//一个任务在持有一个对象锁时能够调用同一个对象的其它的synchronized方法
public class MultiLock {
public synchronized void f1(int count){
if(count-->0){
System.out.println("f1() calling f2() with count "+count);
f2(count);
}
}
public synchronized void f2(int count){
if (count-->0) {
System.out.println("f2() calling f1() with count "+count);
f1(count);
}
}
public static void main(String[] args) {
final MultiLock multiLock=new MultiLock();
new Thread(){
@Override
public void run() {
multiLock.f1(10);
};
}.start();
}
}
java编程思想笔记-并发之Synchronized嵌套调用
最新推荐文章于 2023-12-27 22:35:20 发布