记录一个面试问题,多线程中需要等子线程全部执行完成后再执行主线程

网上的方式

1.sleep()方式,这种做法不靠谱,不知道cpu到底哪个线程会拿到,不能使用

2.将子线程加入集合中(最好是线程安全的集合vector),再在主线程中循环遍历线程,使用join方法

3.使用CountDownLatch类(只能使用一次)

4.使用CyclicBarrier类

https://blog.csdn.net/chenyao1994/article/details/83037262

自己的想办法:

1.如果知道线程数量可以使用原子类,作为信号量

AtomicInteger

当一个线程执行完成后,自动-1。主线程使用while循环,判断是否值是否为0

这样的性能可能不是很好

2.锁

好像不太好实现,而且没有意义

java 主线程与子线程的执行顺序相关推荐

  1. 如何实现java主线程等待子线程执行完毕之后再执行?

    本文转自:问题:如何实现java主线程等待子线程执行完毕之后再执行? - jseven - 博客园 点击关注强哥,查看更多精彩文章呀 工作总往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完 ...

  2. java主线程和子线程区别_主线程异常– Java

    java主线程和子线程区别 Being a Java Programmer, you must have seen exception in thread main sometimes while r ...

  3. java主线程捕获子线程中的异常

    java主线程捕获子线程中的异常 参考文章: (1)java主线程捕获子线程中的异常 (2)https://www.cnblogs.com/jpfss/p/10272726.html (3)https ...

  4. c++ 等待子线程结束_python主线程与子线程的结束顺序

    对于程序来说,如果主进程在子进程还未结束时就已经退出,那么Linux内核会将子进程的父进程ID改为1(也就是init进程),当子进程结束后会由init进程来回收该子进程. 主线程退出后子线程的状态依赖 ...

  5. java主线程控制子线程_CountDownLatch控制主线程等子线程执行完--Java多线程

    1.[代码]CountDownLatch控制主线程等子线程执行完--Java多线程 package com.sihuatech.common; import java.util.concurrent. ...

  6. Java主线程等待子线程、线程池

    public class TestThread extends Thread { public void run() { System.out.println(this.getName() + &qu ...

  7. Java多线程面试题之如何让主线程等子线程执行完之后再执行

    问题描述 现在有一个主线程X,和两个子线程A和B,A和B之间没有依赖关系且两者的执行时间不确定,现在要求如下: 1:不限制A和B执行顺序的 2:主线程X需要在子线程A和B执行完成之后再执行 方案1 1 ...

  8. 【多线程】学习记录七种主线程等待子线程结束之后在执行的方法

    最近遇到一个问题需要主线程等待所有的子线程结束,才能开始执行,统计所有的子线程执行结果,返回,网上翻阅各种资料,最后记录一下,找到七种方案 第一种:while循环 对于"等待所有的子线程结束 ...

  9. java 主线程等待_Java实现主线程等待子线程

    本文介绍两种主线程等待子线程的实现方式,以5个子线程来说明: 1.使用Thread的join()方法,join()方法会阻塞主线程继续向下执行. 2.使用Java.util.concurrent中的C ...

最新文章

  1. 2014.12.01 B/S之windows8.1下安装IIS
  2. “N+虚拟现实行业高峰论坛”成功举办,共创VR美好未来
  3. 15行用Python实现仿百度搜索引擎
  4. python检验阿姆斯特朗数_python 之九九乘法表,润年,奇偶数,阿姆斯特朗数判断分享...
  5. MongoDB使用记录
  6. CentOS 6、7 安装 Golang
  7. 深度学习《EBGAN》
  8. 2008 读第一本书
  9. 大学生必备的几个公众号
  10. 利用代码分别实现jdk动态代理和cglib动态代理_设计模式篇——代理模式详解(面试官再问你代理模式,这么回答他!)...
  11. java输出阶乘_Java阶乘输出
  12. Wonderware-InTouch安装 Intouch 2014 R2 SP1
  13. 如何制作录屏gif动态图
  14. 老路MBA商学课|第003课:沉没成本|因为来都来了,所以将错就错
  15. hdu 5064 Find Sequence(单调性优化DP)
  16. 证件照尺寸像素规格,证件照尺寸怎么修改
  17. HTML小游戏9 —— 潜行游戏《侠盗罗宾汉》(附完整源码)
  18. 循环结构(打印图形专项练习)
  19. sigmoid函数和阶跃函数的Python代码比较 ← 斋藤康毅
  20. 笔记本电脑移动到行尾 行首 快捷键

热门文章

  1. 颜色的识别方法和探索 基于matlab
  2. 各公司 Java 面试题目整理(基础+高级+算法+数据库)
  3. jsp页面转为html5,eclipse 设置jsp页面为HTML5
  4. 图像生成论文阅读:GLIDE算法笔记
  5. 使用线程安全型双向链表实现简单 LRU Cache 模拟
  6. Unity资源缓存(内存)
  7. Ubuntu 18.04 服务器版安装桌面及软件
  8. 吹筒仔海钓纪实,来自陆丰陆丰公众号
  9. xp计算机找不到音量调节,WinXP电脑没声音且小喇叭不见了如何解决?
  10. centos7桌面图标太大,如何变小?