多线程交互
线程间交互
一个线程如何结束
thread.stop被废弃:因为强制关闭线程,不可预期
thread.interrupt:把线程标记为终止,需要手动检测线程是否结束isInterrupted(),线程内部外部都可以
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
//擦屁股
retuen;
e.printStackTrace();
}
如果线程里有这种睡眠代码,外部调动interrupt会直接catch
wait、notify、notifyAll
object方法,通知monitor自己暂时等待还是唤醒,等待会把锁释放自己进入等待,notify会唤醒等待区的一个对象,notifyAll会唤醒所有,这些方法其实都是锁的对象在调动
join
thread.jion():在 此线程结束之前不继续进行下一行代码
yield
暂时降低此线程优先级
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 炎武的学习笔记!