package com.zhongmingjun.demo_3;
public class SynchronziedAndDataDemo_0 {
public static void main(String[] args) {
MyThread m1=new MyThread();
Thread t1=new Thread(m1);
Thread t2=new Thread(m1);
t1.start();
t2.start();
}
}
class MyThread implements Runnable{
private int num=0;
@Override
public void run() {
try {
this.func();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public synchronized void func() throws InterruptedException{
//内置锁是可重入的,所以在同一个线程重复加锁内不会造成死锁
System.out.println("num: "+this.getNumValue());
Thread.sleep(2000);
System.out.println("sleep finished");
}
public synchronized int getNumValue(){
return this.num++;
}
}
内置锁是可重入的,所以在同一个线程重复加锁内不会造成死锁
最新推荐文章于 2021-08-13 11:12:33 发布