java内置的future模式

来源:互联网 发布:网络神助攻什么意思 编辑:程序博客网 时间:2024/05/16 06:39

用过Java并发包的朋友或许对Future (interface) 已经比较熟悉了,其实Future 本身是一种被广泛运用的并发设计模式,可在很大程度上简化需要数据流同步的并发应用开发。

jdk的内置实现

import java.util.concurrent.Callable;public class RealData implements Callable<String> {    private String para;    protected RealData(String para){        this.para = para;    }    @Override    public String call() throws Exception {        StringBuffer sb = new StringBuffer();        for (int i = 0; i < 10; i++) {            sb.append(para);            try {                Thread.sleep(100);            } catch (Exception e) {            }        }        return sb.toString();    }}

import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.FutureTask;public class Main {    public static void main(String[] args) throws InterruptedException, ExecutionException {        FutureTask<String> future = new FutureTask<String>(new RealData("a"));        ExecutorService executor = Executors.newFixedThreadPool(1);        executor.submit(future);        executor.shutdown();        try {            Thread.sleep(2000);        } catch (Exception e) {        }        System.out.println(future.get());    }}


0 0
原创粉丝点击