java如何中断某个线程?
答案:2 悬赏:50 手机版
解决时间 2021-05-11 18:14
- 提问者网友:玫瑰园
- 2021-05-11 08:36
我以经有一个Thread类 通过单击按妞new Thread() 得到多个相同功能的线程,我要如何中断其中某一个?
最佳答案
- 五星知识达人网友:我住北渡口
- 2021-05-11 09:59
有两个办法, 一是你可以控制想中断的线程的实例, 然后调用修改这个实例的一个自己定义的running变量, 让run方法返回即可中断.
二是给线程起个名字, 就是new Thread("threadName"), 然后判断当前线程是不是你想要的, 再调用interrupt方法, 捕获异常退出,不过第二个方法感觉不是很好
二是给线程起个名字, 就是new Thread("threadName"), 然后判断当前线程是不是你想要的, 再调用interrupt方法, 捕获异常退出,不过第二个方法感觉不是很好
全部回答
- 1楼网友:狂恋
- 2021-05-11 10:16
不知道你想做什么,但一般线程运行完会自动结束,除非是有无限循环。介绍几种跳出循环的做法:
1: 给你的线程类一个标识符,然后在循环中对这个标志做判断,如果为false则跳出循环,自动结束线程(线程在run()里面执行完就自动关闭了),而你可以再线程外对这个标识符做控制。
2: 对线程对象调用interrupt(),这样在run中使用sleep,wait等方法时自动抛出一个InterruptedException异常,在catch里面可以跳出循环。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯