
Java多线程——使主线程等待所有子线程完成执行
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本教程讲解如何在Java中实现主线程等待所有子线程完成后才结束的技术,包括使用CountDownLatch和join方法等实用技巧。
朋友让我帮忙编写一个程序,从文本段落档导入数据到Oracle数据库中。技术上来说没有什么难度,因为文档的格式都是固定的,并且只需对应数据库中的字段进行解析即可。关键在于性能问题。
由于数据量非常大,有百万条记录,因此考虑使用多线程并发执行以提高效率。在编写过程中遇到了一些问题:需要统计所有子进程完成时总共耗用的时间。为此,在第一个子进程创建前记录当前时间(通过`System.currentTimeMillis()`获取),并在最后一个子进程中结束后再次记录当前时间,然后两次结果相减得到总的运行时间。
以下是相关代码示例:
```java
long tStart = System.currentTimeMillis();
// 多线程启动代码...
Thread.currentThread().join(); // 等待所有子进程执行完成。
long tEnd = System.currentTimeMillis();
System.out.println(总耗时: + (tEnd - tStart) + 毫秒);
```
注意:上述示例中,`Thread.currentThread().join()`用于等待当前线程的所有子线程结束。
全部评论 (0)
还没有任何评论哟~


