1、Java多线程推荐两本比较好的书,《Java多线程编程实战指南-核心篇.pdf》2017年出版,内容新,讲解清晰,首推这本,然后是《Java多线程编程核心技术》2015年出版,由浅入深,编程例子多,也不错。本博客只做易忘拾遗。
2、this.interrupted测试当前线程是否已中断,当前线程是指运行this.interrupted的线程,该方法会同时清除中断状态。
isInterrupted,测试Thread对象是否已经是中断状态,但不清除中断标志。
虽然判断为interrupted,但后面的代码还在继续运行,可以通过手动抛出异常使线程停止运行。
线程在sleep中,给其发interrupt信号,线程会自动抛出异常并终止。
如果线程是先接收到interrupt信号,再进入sleep,进入sleep之前不会停止异常,进入sleep后才会自动抛出异常停止。
stop不建议使用,因为线程会得不到清理导致一些异常情况如锁得不到释放。