有一个A类,类中有一个执行任务的send 方法。其他地方会调用A类的send方法,现在要对A类的send方法进行限时控制,如果其他地方调用了send方法,此时,send方法在3秒内没执行完就停止执行,退出send方法。这样要怎么实现呀,计时器貌似做不到这样吧!
请各位高手帮忙呀!!

解决方案 »

  1.   

    你的send方法在干什么呢?
    1)如果是一个循环,  可以在send方法内每个循环自己检查一下
    2)如果是在IO操作等, 可以用另外的线程来检测, 超时就interrupt掉send的线程
      

  2.   

    我的send方法是对数据库进行操作。能不能贴个接近我要求的代码出来。
      

  3.   

    执行中要退出那是不可能的,只能采取一个超时机制。Statement 中有个 setQueryTimeout 方法可以设置某一次查询的超时时间。
      

  4.   

    强行结束运行中的线程 Thread#stop 方法在 JDK 1.2 中就已经被遗弃了,强行结束一个线程会引起数据不同步甚至死锁的风险。