前言

在使用多线程的场景中,经常需要获取多线程的执行结果,有的甚至还需要合并不同线程的执行结果进行后续的业务逻辑处理等,下面对常用的几种获取与合并多线程的执行结果的方式做一下小结

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

java获取多线程执行结果几种方式小结相关推荐

  1. Java面试之多线程:Java创建多线程为什么只有一种方式?

    关于线程的创建,其实我一直都有话说,于是今天,我来开个头.今天依旧一样,长话短说,只谈创建多线程.你好,我是fntp!今天要跟大家分享的是博主最近面试Java实习所遇到的一些问题!那就是经常性被问到的 ...

  2. Java获取当前时间的四种方式

    面试时被问到如何获取系统当前时间,平时没有怎么注意这个问题,这里整理一下 import java.text.SimpleDateFormat; import java.util.Calendar; i ...

  3. java获取反射机制的三种方式

    更多免费教学文章请关注这里 java 获取反射常使用的三种方式: 1.通过new对象实现反射机制 2.通过路径实现反射机制 3.通过类名实现反射机制 通过Object类的getClass方法来获取 使 ...

  4. Java 获取系统时间的三种方式,总结起来

    业务场景中,不乏会需要取到当前系统的时间,做一些判断,比如判断某个执行过程需要花多长时间,然后将时间记录下来,返回给业务查看:或者需要或者一个唯一的值做一些表单单号,那么当前系统时间就是唯一的,可以适 ...

  5. JAVA获取Class类的4种方式

    目录 一.准备 1.1 创建一个实体类如下: 二.获取Class类 2.1 调用运行时类的属性: 类名称.class 2.2  通过运行时类的对象的getClass方法 2.3 调用Class的静态方 ...

  6. java几种多线程_Java多线程实现的几种方式

    Java多线程实现的几种方式 多进程是计算机中的一个重要概念,通常一个任务称为一个进程,比如浏览网页.播放音乐都是一个进程. 在进程内部可能还需要执行多个子任务,比如在使用word文档打字的时候,不仅 ...

  7. java多线程的实现方式_JAVA多线程实现的三种方式

    最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结. 1.JAVA多线程实现方式 JAVA多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用E ...

  8. JAVA多线程实现的三种方式

    文章目录 继承Thread类实现多线程 实现Runnable接口方式实现多线程 区别 ExecutorService/Callable/Future实现有返回结果的多线程 步骤 概念 实例(可忽略) ...

  9. java实现线程的方式_java多线程实现的四种方式

    java多线程实现的四种方式1.继承Thread类,重写run方法(其实Thread类本身也实现了Runnable接口) 2.实现Runnable接口,重写run方法 3.实现Callable接口,重 ...

最新文章

  1. php多线程查表,php curl_multi 多线程查询的例子
  2. 网站的高性能架构---存储性能优化
  3. Android中Service的启动方式及Activity与Service的通信方式
  4. SAP Cloud for Customer的产品主数据通过PI同步到CRM
  5. 第一次写python
  6. CUDA的global内存访问的问题
  7. Android 屏幕灭屏亮屏广播,屏幕灭屏亮屏监听,广播实现按键监听
  8. notepad可以运行python吗,notepad+中怎么设置直接运行python代码
  9. 视觉模型精度如何更上一层楼?百度技术专家实战演示调参技巧
  10. 如何在Windows CMD的一行中运行两个命令?
  11. notice!!!!!!!!!!
  12. 云小店商城源码修复30套模板支持一键对接各大系统
  13. linux安装文件的后缀,Linux下各种后缀名文件安装
  14. Pandas数据分析实战(1)——探索Chipotle快餐数据
  15. 贼法术牧萨nbsp;2800
  16. 我用unity开发的第一款游戏demo心得
  17. 音频左右声道数据合并到一个声道
  18. vue项目落地(qiankun.js)微前端服务
  19. 怎样在计算机上设置纸大小,打印机怎么设置纸张大小 打印机设置打印纸张大小的步骤教程...
  20. 开源项目之饭否 for Android

热门文章

  1. angular之DI理解
  2. Hibernate之关联映射
  3. 25+ 个单色背景的网页设计实例
  4. 运营是一个产品价值传递的过程,互联网营销
  5. IIS6.0不支持ASP的解决办法
  6. 读取properties资源文件中的参数
  7. 高计算密度+低功耗!浪潮新一代高密度服务器SA5248M4横空出世
  8. 微服务框架 Spark Framework
  9. Spring Boot常见应用属性默认值
  10. 《徐徐道来话Java》:PriorityQueue和最小堆