@多线程占用锁情况
在对象加锁的过程中,调用的notify 或者 notifyall 不会释放锁;在调用wait()会释放锁以方便其他线程调用;
import java.util.List;
public class HelloWorld {
static Object object=new Object();
public static void main(String[] args) throws InterruptedException {
Thread thread1=new Thread(){
public void run(){
synchronized (object){
try {
object.wait();
System.out.println("t1 run");
} catch (InterruptedException e) {
}
}
}
};
thread1.start();
System.out.println("tread1 start");
Thread.sleep(5000);
Thread thread2=new Thread(){
public void run(){
synchronized (object){
object.notifyAll();
System.out.println("t2 run");
}
}
};
thread2.start();
Thread.sleep(5000);
System.out.println("thread2 start");
}
}