中断或停止休眠线程

2022-09-02 02:56:20

如何在java中停止或中断休眠线程?我有一个线程,在run()方法中同步数据并休眠10分钟,如果我想通过在线程处于休眠状态时停止同步来停止同步。如何实现这一点?


答案 1

在线程上调用 interrupt() 方法。这将导致睡眠被取消,并且将引发中断异常。


答案 2

您可以使用 中断休眠线程。现在停止线程已被弃用 - 如果线程持有对某些东西的锁定怎么办?(有一个,但它非常不鼓励)。Thread.interrupt()Thread.stop()

或者,您可以让线程等待对象收到超时通知,而不是休眠,如果希望线程唤醒,则简化通知对象的过程。