并发包

 

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

可以用countdownlatch代替join

 

 

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

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

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 区别

 

 

 

 

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

 

 

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

 

 

 

 

 

exchanger  --纸质的银行流水和电子的银行流水   是否一致

 

 

 

 

 

 

 

 非阻塞算法在并发容器中的实现 - 分布式编程 - 博客园 (cnblogs.com)

posted @ 2021-08-29 04:12  悬崖听风098  阅读(36)  评论(0)    收藏  举报