java线程死亡_java – 如何暂停main()直到所有其他线程死亡?
在我的程序中,我在main()方法中创建了几个线程。 main方法的最后一行是调用System.out.println(),在所有的线程都死了之前我不想调用它。我已经尝试在每个线程上调用Thread.join(),但阻塞每个线程,以便它们顺序执行而不是并行执行。
有没有办法阻止main()线程,直到所有其他线程完成执行?以下是我的代码的相关部分:
public static void main(String[] args) {
//some other initialization code
//Make array of Thread objects
Thread[] racecars = new Thread[numberOfRaceCars];
//Fill array with RaceCar objects
for(int i=0; i
racecars[i] = new RaceCar(laps, args[i]);
}
//Call start() on each Thread
for(int i=0; i
racecars[i].start();
try {
racecars[i].join(); //This is where I tried to using join()
//It just blocks all other threads until the current
//thread finishes.
} catch(InterruptedException e) {
e.printStackTrace();
}
}
//This is the line I want to execute after all other Threads have finished
System.out.println("It's Over!");
}
谢谢你的帮助!
埃里克
java线程死亡_java – 如何暂停main()直到所有其他线程死亡?相关推荐
- java 获取线程某个_Java中如何唤醒“指定的“某个线程
熟悉线程操作的小朋友应该知道,Java中线程的挂起和唤醒一般用synchronized + wait + notify完成. 比如: synchronized(o) { o.wait(); //wai ...
- java 线程崩溃_java语言中application异常退出和线程异常崩溃的捕获方法,并且在捕获的钩子方法中进行异常处理...
1.application应用程序注入自定义钩子程序 java语言本身提供一个很好的Runtime类,可以使我们很好的获取运行时信息.其中有一个方法是 public void addShutdownH ...
- java socket 线程池_java socket编程的一个例子(线程池)
服务器程序EchoServer.java: import java.io.*; import java.net.*; import java.util.concurrent.*; public cla ...
- java 线程起名字_java多线程学习三::::为什么要给线程起名字并且知道守护作用?...
为什么要会线程起名字呢? 你如果拿到一连串的Thread-01,Thead-02我想你应该会疯掉,看以下代码 package rs.thread.day0504; /** * @auther rs * ...
- java juc作者_Java面试之JUC系列:Collection线程不安全的举例
Collection线程不安全的举例 前言 1.当我们执行下面语句的时候,底层进行了什么操作 new ArrayList(); 底层创建了一个空的数组,伴随着初始值为10 当执行add方法后,如果超过 ...
- 粤嵌实习-linux下madplay播放器的下载和使用、线程的介绍和创建一个广告循环播放线程
文章目录 粤嵌实习(电梯运行演示系统) 播放器: 线程: 简单介绍: 创建线程: 应用:创建一个广告循环播放的线程 粤嵌实习(电梯运行演示系统) 播放器: (1)通过命令sudo apt-get in ...
- java如何让程序暂停一会_Java如何暂停线程一段时间?
在Java编程中,如何暂停线程一段时间? 以下示例显示如何通过创建sleepThread()方法来暂停线程一段时间. package com.yiibai; public class Suspendi ...
- java怎么让main方法不退出_JAVA线程池原理源码解析—为什么启动一个线程池,提交一个任务后,Main方法不会退出?...
public static void main(String[] args) { ExecutorService service = Executors.newFixedThreadPool(10); ...
- java中我爱你_Java线程学习(转)
编写具有多线程能力的程序经常会用到的方法有: run(),start(),wait(),notify(),notifyAll(),sleep(),yield(),join() 还有一个重要的关键字:s ...
最新文章
- JS与CSS阻止元素被选中及清除选中的方法总结
- 判断三个数最大的数 从结果出发思考问题
- 【PM模块】维护业务处理流程—内部维护(通知单)
- visual MySQL 教程_Visual Studio操作MySQL的详细步骤
- mysql 排序_MySql的几种排序方式
- win10树莓派改ip_Window 10通过网线和Wifi连接树莓派
- java flux api,SpringBoot学习系列-WebFlux REST API 全局异常处理
- 《图像处理知识》宝藏总纲
- 业界总结 | 如何改进双塔模型,才能更好的提升你的算法效果?
- 博文视点读书节第十日丨大咖书单最终章技术分享双倍放送!
- IT技术图书之《敏捷无敌》当小说看 你信吗?
- VUE的数据双向绑定
- C++ Liberary websit
- win10跳过计算机密码,Win10怎么取消开机密码?Win10如何跳过开机密码?
- 【预测模型】基于粒子群优化宽度学习实现预测matlab代码
- 给SAP初学者的建议!
- TCP/IP网络编程之基于TCP的服务端/客户端(一)
- DB2数据库开发工具:DBVisualizer
- java检测ping延迟_批量ping IP并检测IP延迟率和丢包率脚本
- 淘宝标题可以改吗 淘宝标题优化技巧方法有哪些
热门文章
- html input 传值 request接到值为null,解决jsp向servlet传值为null的问题
- python six库_six库 解决python2的项目如何能够完全迁移到python3
- 支持自定义的离线语音模块WT516P6Core 串口协议使用说明
- 直流电源端口雷击或瞬态浪涌防护设计方案图详解
- git源码服务器搭建,树莓派3-搭建GIT代码服务器
- java dom添加节点_java用dom更新xml的有关问题,如何在子节点上添加节点
- 可视化神器背后的奥秘
- python 温度 符号_【火马】Python学习小记01
- android中常用的下拉刷新加载更多_如何设计“加载流程”
- bread是可数还是不可数_​面包bread是可数名词还是不可数