首页 / JAVA / java – 终止无响应的线程
java – 终止无响应的线程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 终止无响应的线程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1068字,纯文字阅读大概需要2分钟。
内容图文
![java – 终止无响应的线程](/upload/InfoBanner/zyjiaocheng/730/e9cd9502d5d74e2f93f45613cd36fc6a.jpg)
我已经构建了一个java应用程序,并且在按下按钮时有一个在后台执行某些操作的线程.问题是,该线程可能会锁定,可能是由于无限循环.有没有办法可以强制终止该线程?
编辑:我在java平台上使用LuaJ.它具有锁定的潜力,除了在另一个线程中运行它并且在java或脚本完成时杀死它时,我实际上并没有太多的控制权.
解决方法:
不,那里没有.没有重大巫术的唯一选择是在其上调用interrupt()并等待它进行阻塞调用.此时,它将抛出一个InterruptedException,您应该终止该线程.
如果它处于循环中,例如while(1);你做不了多少;你需要修复你的线程不要这样做,或至少检查一个标志并停止自己.
例如,您可以重写:
while(1) {
doWork();
}
如:
class Whatever {
private volatile boolean stop = false;
...
while (!stop) {
doALittleWork();
}
...
}
曾经有一个Thread.stop()方法可以做到这一点,但它已被弃用,原因非常充分,不应该使用.
编辑:
由于你可能正在运行一个解释器,你需要做的是在每个语句执行后(或左右)挂钩并检查你的魔术停止变量,如果是,则终止Lua执行.或者,Lua运行时可能有自己的“终止”标志,你可以使用 – 我查找文档,但他们的网站很糟糕,所以你可能需要查看代码.
除此之外,您可能需要手动修补Lua4j源以添加此功能.您的选择非常有限,最终Thread必须以某种方式控制自己的命运.
内容总结
以上是互联网集市为您收集整理的java – 终止无响应的线程全部内容,希望文章能够帮你解决java – 终止无响应的线程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。