Java线程超时掌握的实现[Java编程]
本文“Java线程超时掌握的实现[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一.什么时刻需求超时掌握
超时掌握普通利用阻塞时间对比长的操作上,有大概是和远程数据库的衔接, 也有大概是网络下载,在程序超时后, 常常需求举行一些操作,比方退出线程,或 者重新履行.
二.实现办法
办法1.(原创)
实现描写:利用一个保护线程作为计时器,并且在计时完毕时抛出一个未检测 非常.
具体实现:
类1:保护线程类
/**
* 本线程设置了一个超不时间
* 该线程开始运行后,经 过指定超不时间,
* 该线程会抛出一个未查抄非常告诉调用该线程的程序 超时
* 在超时完毕前可以调用该类的cancel办法撤消计时
* @author solonote
*/
public class TimeoutThread extends Thread {
/**
* 计时器超不时间
*/
private long timeout;
/**
* 计时能否被撤消
*/
private boolean isCanceled = false;
/**
* 当计时器超不时抛出的非常
*/
private TimeoutException timeoutException;
/**
* 构 造器
* @param timeout 指定超时的时间
*/
public TimeoutThread(long timeout,TimeoutException timeoutErr) {
super ();
this.timeout = timeout;
this.timeoutException = timeoutErr;
//设置本线程为保护线程
this.setDaemon (true);
}
/**
* 撤消计时
*/
public synchronized void cancel()
{
isCanceled = true;
}
/**
* 启动超时计时 器
*/
public void run()
{
try {
Thread.sleep (timeout);
if(!isCanceled)
throw timeoutException;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
以上是“Java线程超时掌握的实现[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:java线程编程(一):线程底子
- ·下一篇文章:java多线程学习初步
- ·中查找“Java线程超时掌握的实现”更多相关内容
- ·中查找“Java线程超时掌握的实现”更多相关内容