wait方法
作用
1.结合以下例子进行叙述。
lock.wait();这句执行后线程a会释放锁,线程a会进入阻塞状态,等待线程b的lock.notify()执行后,才可以尝试获取锁,a线程等待获取锁,当b线程锁住的lock对象代码块执行完并释放锁后,a线程才可以得到锁进入运行状态。
2.如下图
step | 图 |
---|---|
1 | |
2 | |
3 | |
4 | |
5 |
MyList.java
1 | public class MyList { |
ThreadA.java
1 | public class ThreadA extends Thread { |
ThreadB.java
1 | public class ThreadB extends Thread { |
Run.java
1 | public class Run { |
运行结果: