线程中断作为 Stop() 的替代方法
Java 中通常不鼓励使用“stop()”方法,因为它可能会导致导致意想不到的副作用。终止线程的另一种方法是通过中断。
线程中断
中断线程向其发出信号,表明它应该正常停止其执行。要中断线程,请调用其“interrupt()”方法。如果线程表现良好并且正确处理中断,它将在退出之前尝试完成当前任务。
示例实现
考虑以下代码:
Thread thread = new Thread(new Runnable() { @Override public void run() { while (!Thread.currentThread().isInterrupted()) { try { Thread.sleep(5000); System.out.println("Hello World!"); } catch (InterruptedException e) { Thread.currentThread().interrupt(); System.out.println("Thread interrupted"); } } } });
在此代码中,线程在循环内检查其中断状态。当中断时,它会抛出“InterruptedException”,该异常会被处理并再次设置线程的中断状态。然后线程退出循环并终止。
注意事项
与“Thread#isAlive() 和Thread#interrupted()
以上是线程中断是 Java 中已弃用的'stop()”方法的更好替代方法吗?的详细内容。更多信息请关注PHP中文网其他相关文章!