调用sleep方法会进入计时等待状态,等时间到了,进入的是就绪状态,不是运行状态安全
调用yield方法会先让别的线程执行,可是不确保真正让出spa
意思是:我有空,能够的话,让大家先执行线程
调用join方法,会等待该线程执行完毕后才执行别的线程设计
通常使用的是interrupt来请求终止线程it
要注意的是:interrupt不会真正中止一个线程,它仅仅是给这个线程发了一个信号告诉它,它应该要结束了(明白这一点很是重要!)class
也就是说:Java设计者其实是想线程本身来终止,经过上面的信号,就能够判断处理什么业务了。yield
具体到底中断仍是继续运行,应该由被通知的线程本身处理,这样就能够安全地终止线程请求
interrupt线程中断还有另外两个方法(检查该线程是否被中断):方法
静态方法interrupted()-->会清除中断标志位di
实例方法isInterrupted()-->不会清除中断标志位