设为首页 加入收藏

TOP

高并发Java(7):并发设计模式(三)
2017-09-30 13:37:34 】 浏览:5642
Tags:并发 Java 设计模式
current.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class FutureMain2 { public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService executor = Executors.newFixedThreadPool(1); // 执行FutureTask,相当于上例中的 client.request("a") 发送请求 // 在这里开启线程进行RealData的call()执行 Future<String> future = executor.submit(new RealData("a")); System.out.println("请求完毕"); try { // 这里依然可以做额外的数据操作,这里使用sleep代替其他业务逻辑的处理 Thread.sleep(2000); } catch (InterruptedException e) { } // 相当于data.getResult (),取得call()方法的返回值 // 如果此时call()方法没有执行完成,则依然会等待 System.out.println("数据 = " + future.get()); } }

由于Callable是有返回值的,可以直接返回future对象。

5. 生产者消费者

生产者-消费者模式是一个经典的多线程设计模式。它为多线程间的协作提供了良好的解决方案。 在生产者-消费者模式中,通常由两类线程,即若干个生产者线程和若干个消费者线程。生产者线 程负责提交用户请求,消费者线程则负责具体处理生产者提交的任务。生产者和消费者之间则通 过共享内存缓冲区进行通信。

以前写过一篇用Java来实现生产者消费者的多种方法,这里就不多阐述了。

本系列:

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇给Java程序猿们推荐一些值得一看.. 下一篇Spring MVC REST异常处理最佳实践..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目