老师, 请教一个有关InterruptedException的问题
来源:5-4 线程不安全类与写法-1
![](http://img1.sycdn.imooc.com/user/545865da00012e6402200220-100-100.jpg)
伟少_will
2018-09-29
老师, 以下是我的业务代码
for (Long houseId: houseIds) {
//线程处理
executorService.execute(() -> {
//一些查询操作
xxxService.select();
//一些更新缓存的操作
xxxRedis.update();
if(如果不需要保存){
//停止线程
Thread.currentThread().interrup();
}
//一些添加操作
xxxService.batchInsert();
}
老师, 诚心请教一下
简化了很多业务代码, 只写出核心的
更新缓存的这一部, 没有任何问题(例如houseIds有1000个,1000个都更新到缓存了)
但是程序却会不断抛出InterruptedException
线程不是在wait, join, sleep时候被interrupt才会抛出这个异常吗
写回答
2回答
-
你好,实际中很少有直接调用interrupt的,你如果想结束线程,直接return就可以了啊,你目前使用的是线程池,你很难知道其他线程是什么状态,完全交给线程池调度就可以了。
10 -
伟少_will
提问者
2018-09-29
非常感谢老师
00
相似问题