java多线程及线程池小结
最近在学习线程池的东西,前面有篇文章《线程池的设计原则》,当然大多都是参考别人的思想。然后发现自己多线程真的写的太少了。现在来补充基础知识咯。。。 wait导致当前的线程等待,直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法。当前的线程必须拥有此对象监视器。该线程发布对此监视器的所有权并等待,直到其他线程通过调用 notify 方法,或 notifyAll 方法通知在此对象的监视器上等待的线程醒来。然后该线程将等到重新获得对监视器的所有权后才能继续执行. 以上是jdk api的说明,对照说明写个测试: Code public class Test extends Thread { @Override public void run() { System.out.println( " before wait! " ); try { synchronized ( this ) { this .wait(); } } catch (InterruptedException e) { e.printStackTrace(); } try { Thread.sleep( 20000 ); } catch (Exception e) { System.out.println( " interrupted! " ); } System.out.println( "