Java8中如何便捷高效的使用多线程编程
前言
关于面试中经常问到的线程创建的几种方式:
- 继承 Thread 创建线程
- 实现 Runnable 创建线程
- 实现 Callable || Future 创建线程
- 通过线程池来创建线程
总的来说分两种,有返回值的和没有返回值的.
Java8 中如何使用多线程编程
一般来说前言中使用的方式在 java8中基本都没用了, 从各个 类和 interface 的出现时间就可以判断, java多线程的发展趋势.
Thread 和 Runnable是从 JDK1 就有了, 而Callable和 Future 是从 JDK5开始支持. 而今天我要讲的是 JDK8 的新特性 CompletableFuture, 当你使用 CompletableFuture 时你基本能和写前端异步代码的感觉差不多.
CompletableFuture 是 Future 的一个实现类, 这里我们不介绍 FutureTask 的用法, 毕竟有了摩托车谁还骑共享单车啊(要啥自行车?)
CompletableFuture 有很多的用法,基本上 CompletableFuture 加上函数式编程能解决你 99%的多线程需求.不管是有返回值没有返回值, CompletableFuture 通吃. 不好意思, 有钱 (CompletableFuture)真的可以为所欲为
Demo
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
/**
*
* @author qingbyang@ebay.com
*