当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .