专业的JAVA编程教程与资源

网站首页 > java教程 正文

JAVA并发教程之CountDownLatch读取EXCEL

temp10 2024-10-08 18:17:31 java教程 8 ℃ 0 评论

惯例,讲下理论先。

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

JAVA并发教程之CountDownLatch读取EXCEL

2、实践:读取EXCEL比较

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

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

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

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

普通方法:

c、余下代码

3、扩展

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表