Java教程

并发包

本文主要是介绍并发包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

 需求:解析Excel里面sheet的数据  或者爬虫,爬不同网页的数据  主线程等待所有线程完成解析,再提示解析完成

可以用countdownlatch代替join

 

 

await方法阻塞主线程,直到countdown变成0     countdown()方法将计数器减1    如果某个线程耗时过长,不能一直让主线程等待,可以用设定时间的await方法   countdownlatch初始化以后不能重新new一个数值,只能初始化一次

happens-before规则  一个线程调用countdownlatch先于另一个线程调用await方法

 

 

 

 

 

 

 

 

 

 实例 计算excel中每个sheet中的银流数量

 

 

 

 

 

 区别

 

 

 

 

semaphore   有限的公共资源  限制流量   如数据库连接

 

 

 如读取几万个文件的数据 因为都是io密集型的任务  可以用多线程并发读取    但数据库连接只允许10个连接     数据库连接池 

 

 

 

 

 

 

这篇关于并发包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!