您的位置 首页 java

JAVA并发教程之CountDownLatch读取EXCEL

惯例,讲下理论先。

1、CountDownLatch : 类位于 JAVA .util.concurrent包下,管理多任务都执行完毕后再进行其他操作。初始化该类时设置任务数,某个任务执行完毕调用countDown()方法:如果当前任务数大于零,则其递减减一,释放等待 线程 ;如果递减后为零,则所有等待线程都重新启用;如果当前任务数等于0,则什么也不会发生。而它如何让多任务相互等待了?调用await()方法:如果当前任务数大于零,则当前线程处于挂起状态,与countDown()方法相呼应。也可以在await()方法设置超时时间,等一段时间后其他任务还没跑完,则直接进行下一步操作。

2、 实践:读取EXCEL比较

a、准备一份五百多条数据的EXCEL文件。

b、普通读取与CountDownLatch多任务读取速度比较

为何会有这种效果, 请看代码:

CountDownLatch方法: 多线程 分批读取,每批读取100行,

普通方法:

c、余下代码

3、 扩展

上面的看明白了 再理解 CyclicBarrier 、 Semaphore 挺简单的,记得自己动手实践。

文章来源:智云一二三科技

文章标题:JAVA并发教程之CountDownLatch读取EXCEL

文章地址:https://www.zhihuclub.com/182278.shtml

关于作者: 智云科技

热门文章

网站地图