并发模式Future ,JAVA内置模块Callable接口实现 实例
2014-11-25 10:41
881 查看
package futureCallable; import java.util.concurrent.Callable; public class RealData implements Callable<String> { private String para; public 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 + i); System.out.println(para+"处理中"); try { Thread.sleep(100); } catch (Exception e) { } } return sb.toString(); } }
package futureCallable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; public class Main { public static void main(String[] args) { RealData realData = new RealData("a"); // 构造FutureTask FutureTask<String> future = new FutureTask<String>(realData); RealData realData2 = new RealData("b"); // 构造FutureTask FutureTask<String> future2 = new FutureTask<String>(realData); ExecutorService executor = Executors.newFixedThreadPool(2); // 开启线程进行RealData的call()的执行 executor.submit(future); executor.submit(future2); System.out.println("请求完毕"); try { // 这里可以用一个sleep代替对其他业务逻辑的处理 // 在处理这些业务逻辑过程中,RealData被创建,从而充分利用了等待时间 for (int i = 0; i < 20; i++) { Thread.sleep(100); System.out.println("处理其他数据中" + i); } //获取返回值,如果此时call没执行完成,则依然会等待。 System.out.println(future.get()); System.out.println(future2.get()); } catch (Exception e) { } } }
相关文章推荐
- Java.util.concurrent 包 使用Future,Callable实现抢答模式
- 一步步学习java并发编程模式之Active Object模式(五) 使用JDK的内置实现
- JAVA多线程实现的三种方式(继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程)
- Java Thread&Concurrency(7): 深入理解Callable/Future(FutureTask)接口及其实现
- JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没
- Java 实现多线程的3种方法:继承Thread类;实现Runnable接口;实现Callable接口。具体代码实现实例
- Java并发实战:Callable+FutureTask实现多线程判分汇总
- 【Java并发编程】Callable、Future和FutureTask的实现
- Java并发编程之Future,ExecutorService,Callable讲解实例
- Java 线程与并发研究系列二(实现Callable接口)
- Java中利用Future和callable接口监测异步线程的理解
- java--接口实现的操作实例
- Java多线程之Callable接口的实现
- Java之Callable 和 Future实现线程等待
- JAVA多线程Callable接口的实现
- Java接口:Callable 与 Future
- Java多线程之Callable接口的实现
- Java多线程之Callable接口的实现
- 多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
- Java多线程之Callable接口的实现