最近学了了有关java线程的问题
要实现的功能:在线程中每隔1s刷新数据
实现方法:在线程中设置了while循环。通过sleep(1000)实现更新数据。
当我想中止线程的时候问题出现了。
即使调用了Thread.interrupt()了之后,当进行Thread.isinterrupted进行判断时,发现是false。
查了资料发现问题是:
在因为在sleep里catch到了InterruptedException。然后在这里线程的状态被更新了。所以线程并不能停止。
正确做法:当发现InterruptedException时,调用break,跳出循环。问题解决。
资料连接:
Java多线程:如何停止/中断一个运行中的线程?_wx5b97e9cfa102c的技术博客_51CTO博客



