「java线程超时」java怎么设置线程超时

博主:adminadmin 2022-11-25 22:44:06 46

本篇文章给大家谈谈java线程超时,以及java怎么设置线程超时对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java使用线程操作,等待线程后续时间过长报超时异常,如何操作使线程推出数据后即算线程操作结束

java中使用用线程控制Task任务,启动下面的线程就可以了,new Thread(new Task()).start() ;public class

Task implements Runnable {//新建一个任务

private TextArea textArea;

public Task(TextArea textArea){

this.textArea = textArea;

}

public void run() {

while (true) {

this.textArea.setText("这里设置: 输出的一段文字");

try {

Thread.sleep(500); // 这里设置:隔多长时间

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

Java中如何实现线程的超时中断

如果你是要在子线程超时后直接关闭的话可以这样:

exec=Executors.newFixedThreadPool(1);

CallableString call = new CallableString() {

public String call() throws Exception {

//开始操作

//TimeTaskTest.star(null);

return "线程执行完成";

}

};

FutureString future = exec.submit(call);

//设置为30分钟超时

future.get(1000*60*time , TimeUnit.MILLISECONDS);

=========================================

如果你是在进行其他操作的话那就比较麻烦了,目前我想到的是在子线程中一直访问某个变量,超时时守护线程改变这个值,然后子线程读到后退出,不过这个有个问题,就是当子线程卡死在某个环节时完全无用

关于Java线程超时退出的问题.

你在捕捉到的异常中,调用一下线程的interrupt()方法就可以对线程进行中断,当然,你的线程中的run方法中不能catch了interrupt()异常并且忽视这个异常。

比如在出现异常的地方:

threadA.interrupt();

而threadA的run方法中:

public void run() {

while(true) {

try {

....

} catch (InterruptedException) {

break; //这样是可以的,如果没有break或者修改为continue则不行

}

}

}

也可以将这个放在while循环之外。

public void run() {

try {

while(true) {

....

}

} catch (InterruptedException) {

....

}

}

关于java线程超时和java怎么设置线程超时的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。