JDK1.8 中Lambda 表达式的出现,基本可以取替原来的匿名类实现多线程的方式。下面列举常用的常用的三种情况。
一、普通开启异步线程
new Thread(() -> System.out.println("--" + "aaa")).start();1
二、线程池开启异步线程(不接收返回参数)
public static ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(() -> aiCollectionFacade.initAiCollection(dto));
1234
1234
三、线程池开启异步线程(接收返回参数)
public static ExecutorService executor = Executors.newFixedThreadPool(10);
Future<?> result = executor.submit(() -> sum(a, b));
System.out.println(result.get());
---------------------
Future<?> result = executor.submit(() -> sum(a, b));
System.out.println(result.get());
---------------------