`
bao231
  • 浏览: 87455 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

future 取消任务测试

 
阅读更多

ExecutorService es = Executors.newCachedThreadPool();

Future<?>  future = es.submit(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

try{

Thread.sleep(300000l);

System.out.println("begin");

for(int i=0;i<100000;i++){

if(Thread.currentThread().isInterrupted()){

System.err.println("Interrupted");

break;

}

System.out.println(i);

}

System.out.println("finish");

}catch (InterruptedException e) {

e.printStackTrace();

}catch (Exception e) {

e.printStackTrace();

}

}

});

Thread.sleep(1*1000l);

future.cancel(true);

System.out.println("interupt is send");

分享到:
评论

相关推荐

    future-0.17.0.tar.gz

    此外,`Future`还提供了检查任务是否完成、取消任务、等待任务完成等方法,如`done()`、`cancel()`和`wait()`。 深度学习是当前人工智能领域的一个热点,`Future`库在这里的作用可能是为了优化数据加载、模型训练等...

    future-1.0.0.tar.gz

    此外,`Future`还支持取消操作,以及检查操作是否已经完成等特性。 接下来,我们看看`future-1.0.0`这个特定版本可能包含的内容。通常,一个开源库的发布包会包括以下部分: 1. **源代码**:通常位于`src/`目录下...

    future-0.15.0.tar.gz

    在Python中,"Future"对象代表了一个异步操作的结果,它可以是正在进行的、已完成的,或者是被取消的。"Future"提供了一种统一的方式来处理这些异步操作,使得编写异步代码更加整洁和易于管理。 在0.15.0版本中,...

    Spring Boot利用@Async异步调用:使用Future及定义超时详解

    总结起来,通过`@Async`和`Future`,我们可以轻松地在Spring Boot中实现异步调用,同时利用`Future`的特性监控任务状态、取消任务或处理超时。这对于优化应用性能和提升用户体验至关重要。记得根据实际情况配置合适...

    开源项目-noypi-future.zip

    开发者可能定义了一个`Future`接口,包含了`Get`(获取结果)、`Wait`(等待结果)、`Cancel`(取消任务)等方法。同时,可能还会有用于创建和管理Futures的工厂函数或构造器。 2. **示例代码**(example/*.go):...

    java多线程测试实例

    `Future`代表`Callable`任务的执行结果,提供了检查任务是否完成、获取结果或取消任务的方法。 这个"java多线程测试实例"可能包含了上述部分或全部知识点的实际应用,通过下载并分析实例代码,可以加深对Java多线程...

    Java实现任务超时处理方法

    这种方式可以在提交任务时设置超时时间,如果任务超时,就抛出异常,并可以取消任务。 使用延时任务来终止超时操作是通过使用ScheduledExecutorService来实现的。首先,需要创建一个工作线程,例如: ```java ...

    java Task

    而Future接口则代表异步计算的结果,可以用来查询任务是否完成,获取结果,甚至取消任务。 在进行并发编程时,还需关注线程安全问题,例如使用synchronized关键字、Lock接口(如ReentrantLock)、原子变量类...

    Test_fconst_0.rar_The Test

    而`FutureTask`则是一个可以被取消的任务,它可以包装任何`Callable`对象,这意味着你可以通过它来执行一个返回值的任务。当你调用`FutureTask`的`run()`方法时,它会执行`Callable`对象的`call()`方法,并将结果...

    Guava-并行编程Futures详解.pdf

    如果任何Future失败或被取消,新的Future也会失败或被取消。 3. `successfulAsList`:类似于allAsList,但如果有Future失败或被取消,它会在结果列表中用null替换,而不是导致整个Future失败。 4. `...

    concurrent-all-in-one.pdf

    - `Future`:表示异步计算的结果,可以检查任务是否完成,获取结果或取消任务。 - `CountDownLatch`:用于同步多个线程,让主线程等待所有子线程完成后再继续。 - `CyclicBarrier`:允许多个线程同步开始,等待...

    开源项目-icholy-killable.zip

    这种设计思路与Go语言中的Context或者Java 7以上的Future.cancel()方法有异曲同工之妙,都是为了在复杂的程序结构中提供一种集中式的取消策略。在killable-master文件夹中,我们可以期待找到该项目的源代码、示例、...

    java.util.concurrent 测试源文件

    2. **Future和Callable**:Future接口代表异步计算的结果,可以检查计算是否完成,获取结果或取消计算。Callable接口类似于Runnable,但可以返回一个结果,它的call()方法可以抛出异常。 3. **线程池相关类**:除了...

    http并发访问 java源码

    `Future`提供了检查任务是否完成、获取结果和取消任务的方法。 3. **HttpClient的使用**:HttpClient库提供了`CloseableHttpClient`实例,它是执行HTTP请求的核心。我们可以创建一个`HttpGet`或`HttpPost`对象来...

    javaThreadTest

    `Future`接口可以用来获取异步执行的结果,它提供了检查任务是否完成、获取结果或取消任务的方法。在Java 8及以后的版本中,还可以使用`CompletableFuture`来处理更复杂的异步任务和结果处理。 为了确保任务的正确...

    Java 模拟线程并发

    Future接口代表异步计算的结果,可以用来检查任务是否完成,获取结果或取消任务。 ```java ExecutorService executor = Executors.newFixedThreadPool(5); Future&lt;Integer&gt; future = executor.submit(() -&gt; ...

    基于C++的task 类

    6. **取消机制**:有时需要在运行时取消正在执行的任务。为此,task类可以提供一个取消标志,供线程检查并响应。 7. **错误处理**:考虑异常安全,确保即使在任务执行过程中抛出异常,也能正确地清理资源。 8. **...

    tedhi-0.9.zip

    在实际应用中,无状态未来实用程序可能提供了额外的功能,比如线程池管理、超时机制、取消任务的能力或者对结果的缓存策略。这些功能可以帮助开发者更好地控制异步操作,提高并发性能,同时保持代码的简洁性。 对于...

    Java并发编程实战

    6.3.2 携带结果的任务Callable与Future103 6.3.3 示例:使用Future实现页面渲染器104 6.3.4 在异构任务并行化中存在的局限106 6.3.5 CompletionService:Executor与BlockingQueue106 6.3.6 示例:使用...

Global site tag (gtag.js) - Google Analytics