前言
在使用多线程的场景中,经常需要获取多线程的执行结果,有的甚至还需要合并不同线程的执行结果进行后续的业务逻辑处理等,下面对常用的几种获取与合并多线程的执行结果的方式做一下小结
1、thread.join的方式
在jdk8之前,线程本身提供了join的方法,可以让其他线程加入到当前主线程中,等到所有的线程执行完毕自己的逻辑之后,主线程就可以获取并合并各个线程的结果了,下面看实例代码
public class ThreadJoinTest1 {
static int sum1 = 0;
static int sum2 = 0;
public static void main(String[] args) {
String threadName = Thread.currentThread().getName();
System.out.println(threadName + " start.");
Thread t1 = new Thread(()->{
System.out.println( " t1 start.");
try {
for (int i = 0; i < 15; i++) {
Thread.sleep(200);
sum1 +=i;
}
System.out.println("t1 end.");
} catch (Exception e) {
System.out.println("Ex