社区
Java SE
帖子详情
急!如何不用interrupt从线程外部终止一个线程?
NewIJ
2007-09-07 02:43:16
interrupt()一定要等到该线程检查interrupt状态的是后才能抛出错误结束线程,我现在碰到的问题是,一个线程会一直运行,而且不会有wait()sleep()之类的方法,用interrupt()无法结束线程,有没有什么方法可以从外部强制结束该线程?
...全文
236
6
打赏
收藏
急!如何不用interrupt从线程外部终止一个线程?
interrupt()一定要等到该线程检查interrupt状态的是后才能抛出错误结束线程,我现在碰到的问题是,一个线程会一直运行,而且不会有wait()sleep()之类的方法,用interrupt()无法结束线程,有没有什么方法可以从外部强制结束该线程?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NewIJ
2007-09-14
打赏
举报
回复
谢谢各位回复,stop就不考虑了,加判断位也不太可能,这个线程不是一个死循环线程,正常情况下,运行完成就自动结束了,之所以需要从外部强制结束,是因为执行时间可能很长,如果超过一定时间就不需要他继续执行了,需求就是这样的joejoe1991的回复很正确但是怎么抛出来呢?这个线程在大多数时候都可以及时完成,只是很少数情况会超时,强制结束就是为了不占用资源,由于某些原因不考虑用线程池,各位高手还有什么方法吗?
schumiXsuse
2007-09-10
打赏
举报
回复
public class Constant
{
public static boolean flag = true;
public static void setFlag(String flag)
{
this.flag = flag;
}
.........
}
pulic class XXX
{
......
public void run()
{
while(Constant.flag)
{
......
}
}
}
public class User
{
.......
void method()
{
Constant.setFlag(false);
.........
}
}
joejoe1991
2007-09-09
打赏
举报
回复
想办法让线程丢异常就好了。。。
happykiki
2007-09-07
打赏
举报
回复
stop()方法
使用布尔变量判断
Davis129
2007-09-07
打赏
举报
回复
if(!isInterrupted() ){
// 程序放这里就不会被执行了
}
zephyr_cc
2007-09-07
打赏
举报
回复
不是有个极度不赞成使用的stop方法嘛...
java中 如何
终止
一个
线程
java中 使用interrput 如何
终止
一个
线程
java
线程
异常
终止
_Java
线程
的
终止
-
interrupt
取消/关闭的场景我们知道,通过
线程
的start方法启动
一个
线程
后,
线程
开始执行run方法,run方法运行结束后
线程
退出,那为什么还需要结束
一个
线程
呢?有多种情况,比如说:很多
线程
的运行模式是死循环,比如在生产者/消费者模式中,消费者主体就是
一个
死循环,它不停的从队列中接受任务,执行任务,在停止程序时,我们需要一种”优雅”的方法以关闭该
线程
。在一些图形用户界面程序中,
线程
是用户启动的,完成一些任务,...
终止
线程
的 4 种方式(
interrupt
)
正常运行结束 程序运行结束,
线程
自动结束。 使用标志位 一般 run() 方法执行完,
线程
就会正常结束,然而,常常有些
线程
是伺服
线程
。它们需要长时间的运行,只有在
外部
某些条件满足的情况下,才能关闭这些
线程
。使用
一个
变量来控制循环,例如:最直接的方法就是设
一个
boolean 类型的标志,并通过设置这个标志为 true 或 false 来控制 while 循环是否退出,代码示例: public cl...
java使用
interrupt
()
终止
线程
java使用
interrupt
终止
线程
调用
一个
线程
的
interrupt
() 方法中断
一个
线程
,并不是强行关闭这个
线程
,只是将
线程
的中断状态置为true,
线程
是否中断,由
线程
本身决定。 is
Interrupt
ed() 判定当前
线程
是否处于中断状态。 使用
interrupt
()方法来中断
线程
的场景: 一般run()方法执行完,
线程
就会正常结束,有些
线程
它们需要长时间的运行,只有在
外部
某些条件满足的情...
Java
线程
的
终止
——
interrupt
取消/关闭的场景我们知道,通过
线程
的start方法启动
一个
线程
后,
线程
开始执行run方法,run方法运行结束后
线程
退出,那为什么还需要结束
一个
线程
呢?有多种情况,比如说: 很多
线程
的运行模式是死循环,比如在生产者/消费者模式中,消费者主体就是
一个
死循环,它不停的从队列中接受任务,执行任务,在停止程序时,我们需要一种”优雅”的方法以关闭该
线程
。 在一些图形用户界面程序中,
线程
是用户启动的,完成一些
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章