package com.company.bingfa;
class MyThread5 extends Thread{
@Override
public void run() {
System.out.println(getName()+"线程开始");
try {
sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(getName()+"线程结束");
}
}
class MyThread6 extends Thread{
private MyThread5 t;
MyThread6(MyThread5 t){
this.t = t;
}
@Override
public void run() {
synchronized (t){
System.out.println(getName()+"线程开始");
try {
sleep(9000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(getName()+"线程结束");
}
}
}
public class SynchronizedTest {
public static void main(String[] args) throws InterruptedException {
MyThread5 t1 = new MyThread5();
MyThread6 t2 = new MyThread6(t1);
t2.start();
t1.start();
t1.join();
System.out.println(Thread.currentThread().getName()+"线程结束");
/*
Thread-0线程开始
Thread-1线程开始
Thread-0线程结束
Thread-1线程结束
main线程结束
*/
}
}