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

java Future如何使用

 
阅读更多
package com.example.thread;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

/**
* 本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。
* Created by weng.junjie on 2017/2/16.
*/
public class FutureTest {
    public static void main(String[] args) throws InterruptedException {
        List<Integer> list=new ArrayList<>();
        for (int i=0;i<10;i++){
            list.add(i);
        }
        ExecutorService executor = Executors.newSingleThreadExecutor();
        Future future=executor.submit(()->{
            while(list.size()>0){
                System.out.println(list.remove(0));
            }
        });
        //模拟监控多线程是否完成任务?
        System.out.println(future.isDone());
        Thread.sleep(1000);
        System.out.println(future.isDone());
    }
}
分享到:
评论

相关推荐

    Java使用Callable和Future创建线程操作示例

    Java使用Callable和Future创建线程操作示例主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项。 首先,Java 5开始,Java提供了...

    java 线程池与通过Future终止线程实例

    NULL 博文链接:https://waitingkkk-163-com.iteye.com/blog/2232286

    Java的Future使用方法

    Java中的`Future`接口是Java并发编程中一个重要的概念,它是`java.util.concurrent`包下的一个接口,主要用于处理异步计算的结果。`Future`接口提供了一些方法来检查任务是否完成,获取或取消任务的结果,以及在必要...

    java Future 接口使用方法详解

    Java中的`Future`接口是Java并发编程的重要组成部分,它提供了对异步计算结果的访问和控制。`Future`接口在`java.util.concurrent`包中,主要用于处理由`ExecutorService`执行的任务。`Future`模式允许我们提交一个...

    Java中Future、FutureTask原理以及与线程池的搭配使用

    Java中的`Future`和`FutureTask`是并发编程中重要的工具,它们允许程序异步执行任务并获取结果。`Future`接口提供了对异步计算结果的访问和控制,而`FutureTask`是`Future`的一个具体实现,它还同时实现了`Runnable`...

    比较java中Future与FutureTask之间的关系

    在Java中,Future和FutureTask都是用于获取线程执行的返回结果,但是它们之间存在一些差异和关联。本文将详细介绍Future和FutureTask的关系、使用和分析。 一、Future介绍 Future位于java.util.concurrent包下,是...

    简单讲解Java的Future编程模式

    Java的Future编程模式是Java并发处理中的核心概念,主要用于处理异步计算的结果。在Java的`java.util.concurrent`包中,`Future`接口扮演着重要角色,它提供了一种方式来管理和检索由其他线程执行的异步任务的结果。...

    Java程序执行超时——Future接口介绍

    Java程序执行超时——Future接口介绍

    了解JAVA Future类

    "了解JAVA Future类" Java Future类是一种并发编程中的一种设计模式,Future它代表一个异步计算的结果。Future表示一个可能还没有完成的异步任务的结果,针对这个结果可以添加Callback以便在任务执行成功或失败后...

    JAVA使用线程池查询大批量数据

    例如,使用`Future`对象可以获取每个任务的执行结果。 除了`ThreadPoolExecutor`,Java还提供了`Executors`工具类,它提供了一些预设的线程池配置,如`newFixedThreadPool`(固定大小线程池)、`...

    java并发包之Callable和Future

    `submit`方法不仅将任务提交到线程池执行,还会返回一个`Future`对象,我们可以使用这些`Future`对象来获取异步计算的结果。 `Future`接口提供了获取任务结果的方法`get()`,这个方法会阻塞直到任务完成并返回结果...

    老生常谈java中的Future模式

    在 Java 中,Future 模式可以使用 ExecutorService 和 Callable 实现。下面是一个简单的示例代码: ```java ExecutorService executor = Executors.newSingleThreadExecutor(); Future&lt;String&gt; future = executor....

    Java中的Runnable,Callable,Future,FutureTask的比较

    Java中的Runnable、Callable、Future和FutureTask是Java多线程编程中的核心概念,它们各自扮演着不同的角色,共同协作以实现并发任务的管理和执行。 1. **Runnable**: Runnable是最基本的多线程接口,它只有一个`...

    JAVA中Callable的使用

    这篇教程将深入探讨如何在Java中使用Callable。 Callable接口位于`java.util.concurrent`包下,它的主要方法是`call()`,这个方法相当于Runnable的`run()`,但`call()`可以有返回值和抛出异常。当我们需要在线程中...

    Java线程使用教程

    3. **Future和Callable**:`Future`代表异步计算的结果,`Callable`用于创建能返回结果的线程任务,两者结合使用可获取线程执行结果。 四、并发工具类 1. **CountDownLatch**:用于计数,当计数器归零时所有等待的...

    brpc-java是baidurpc的java版本实现

    ### 使用流程 1. **服务端实现**:首先,开发者需要定义服务接口,并实现该接口,然后通过brpc的注解标记服务及方法。 2. **服务注册**:启动服务时,服务端会自动注册到服务中心,使其他节点能够找到并调用。 3....

    java Callable与Future的详解及实例

    Callable 和 Future 是 Java 多线程编程中的两个关键接口,它们在 Java 5 及以上版本引入,以增强并发处理的能力。Callable 接口类似 Runnable,但提供了更丰富的功能,而 Future 对象则用于管理和控制异步计算的...

    Java多线程之异步Future机制的原理和实现共5页.p

    3. **使用CompletableFuture**:自Java 8引入的CompletableFuture是Future的一个强大扩展,它提供了丰富的链式调用方法,如thenApply(), thenAccept()和thenCompose(),可以轻松地构建复杂的异步流程。 在实际开发...

    浅谈在Java中使用Callable、Future进行并行编程

    从Java 1.5开始,引入了Callable和Future接口,为并行编程提供了一种更为高效和便捷的解决方案。 Callable接口是Java并发库中的一个关键接口,位于`java.util.concurrent`包下。Callable接口与Runnable接口类似,但...

Global site tag (gtag.js) - Google Analytics