多线程的实现方式有几种?
1)继承Thread 类实现多线程;
2)实现Runnable接口方式实现多线程;
3)使用ExecutorService、Callable、Future实现又返回结果的多线程;
sleep和wait有什么区别?
Sleep:是让线程进入阻塞状态,一定时间之后回到非阻塞状态,从而可以重新获得CPU。线程被强制睡眠。
Wait:线程处于阻塞的状态,等待外部的处理结束。notifyAll:唤醒全部线程,notify:唤醒单个线程。注意细节:使用同一个锁对象调用wait方法后的线程。