线程状态
-NEW 刚创建(new)
-RUNNABLE 就绪态(start)
-RUNNING 运行中(run)
-BLOCK 阻塞(sleep)
-TERMINATED 结束
Thread的部分API已废弃:暂停和恢复:suspend/resume;消亡:stop/destroy;
线程阻塞和唤醒
-sleep时间一到,自动会醒来,醒来后处于就绪态,继续抢占cpu资源;
-wait/notify/notifyall,等待,需要别人来唤醒
-join,等待另一个线程结束
-interrupt,向另一个线程发送中断信号,该线程收到信号,会触发InterruptedException(可解除阻塞),并进行下一步处理;
死锁
每个线程互相持有别人需要的锁;预防死锁,对资源等级进行排序;
守护线程
守护线程的结束是run方法运行结束,或main方法函数结束;
守护线程永远不要访问资源,如文件或数据库等;