java高并发系列 - 第16天:JUC中等待多线程完成的工具类CountDownLatch,必备技能
这是java高并发系列第16篇文章。
本篇内容
- 介绍CountDownLatch及使用场景
- 提供几个示例介绍CountDownLatch的使用
- 手写一个并行处理任务的工具类
假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要统计解析总耗时。分析一下:解析每个sheet耗时可能不一样,总耗时就是最长耗时的那个操作。
我们能够想到的最简单的做法是使用join,代码如下:
package com.iflytek.demo.thread