cyclicbarrier如何让一段程序并发的执行并最终汇总结果

cyclicbarrier  时间:2021-07-16  阅读:()

分库的数据用java怎么并行查询

如果使用java多线程查询,必须使用CyclicBarrier,等待所有结果都查询完成合并结果集,或者使用dblink,然后HINT方式使用并行Parallell,利用数据的并行技术进行查询

求大神,java中同步器的使用方法、

同步器Semaphore(一) 同步器CyclicBarrier(二) 同步器CountDownLatch(三) 同步器Exchanger(四) 想了解详细:/category/149927

java中怎样实现多线程执行的结果相加

import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; /** 单独的计算线程,比如计算{1...10}的相加 @author zhaohb */ public class CounterThread extends Thread{ private int start; private int end; private CyclicBarrier barrier ; public CounterThread(int id,int start, int end,CyclicBarrier barrier) { this.start = start; this.end = end; this.barrier = barrier; setName("Thread-"+id+" "); } @Override public void run() { int count = 0; for(int i=start;i<end+1;i++){ count += i; } Counter.totalCount(count); try { barrier.await(); } catch (InterruptedException e) { e.printStackTrace(); } catch (BrokenBarrierException e) { e.printStackTrace(); } } } import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** 测试类入口 @author zhaohb */ public class CounterTest { public static void main(String[] args) { //CyclicBarrier指定了当10个线程运行结束时候,可以进行最后结果展示了 CyclicBarrier barrier = new CyclicBarrier(10,new TotalTask(new Counter())); ExecutorService executorService = Executors.newCachedThreadPool(); for(int i=0;i<10;i++){ int start = i*10+1; int end = start + 9; CounterThread counterThread = new CounterThread(i,start, end,barrier); executorService.execute(counterThread); } executorService.shutdown(); } } /** 线程结果计算:将单独的线程的计算的结果相加,汇总的到总的结果 @author zhaohb * */ class Counter { private static int count =0; public synchronized static int totalCount(int perCount){ count += perCount; return count; } public int totalResult(){ return count; } } /** 最后结算展示线程 @author zhb * */ class TotalTask implements Runnable{ private Counter counter ; public TotalTask(Counter counter){ this.counter = counter; } @Override public void run() { System.out.println("所有线程运行完毕,总结果为:"); int total = counter.totalResult(); System.out.println(total); } }

CountDownLatch和CyclicBarrier的区别

这两天写多线程时,用到了CyclicBarrier,下意识的认为CyclicBarrier和CountDownLatch作用很像,就翻阅资料查了一下,说一下他们的区别吧 CyclicBarrier和CountDownLatch 都位于java.util.concurrent 这个包下 CountDownLatch CyclicBarrier 减计数方式 加计数方式 计算为0时释放所有等待的线程 计数达到指定值时释放所有等待线程 计数为0时,无法重置 计数达到指定值时,计数置为0重新开始 调用countDown()方法计数减一 调用await()方法只进行阻塞 对计数没任何影响 调用await()方法计数加1 若加1后的值不等于构造方法的值 则线程阻塞 不可重复利用 可重复利用

如何让一段程序并发的执行并最终汇总结果

使用CyclicBarrier 和CountDownLatch都可以,使用CyclicBarrier 在多个关口处将多个线程执行结果汇总,CountDownLatch 在各线程执行完毕后向总线程汇报结果。

RackNerd:便宜vps补货/1核/768M内存/12G SSD/2T流量/1G带宽,可选机房圣何塞/芝加哥/达拉斯/亚特拉大/荷兰/$9.49/年

RackNerd今天补货了3款便宜vps,最便宜的仅$9.49/年, 硬盘是SSD RAID-10 Storage,共享G口带宽,最低配给的流量也有2T,注意,这3款补货的便宜vps是intel平台。官方网站便宜VPS套餐机型均为KVM虚拟,SolusVM Control Panel ,硬盘是SSD RAID-10 Storage,共享G口带宽,大流量。CPU:1核心内存:768 MB硬盘:12 ...

pacificrack:VPS降价,SSD价格下降

之前几个月由于CHIA挖矿导致全球固态硬盘的价格疯涨,如今硬盘挖矿基本上已死,硬盘的价格基本上恢复到常规价位,所以,pacificrack决定对全系Cloud server进行价格调整,降幅较大,“如果您是老用户,请通过续费管理或升级套餐,获取同步到最新的定价”。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款VPS特征:基于KVM虚拟,纯SSD raid...

恒创科技SonderCloud,美国VPS综合性能测评报告,美国洛杉矶机房,CN2+BGP优质线路,2核4G内存10Mbps带宽,适用于稳定建站业务需求

最近主机参考拿到了一台恒创科技的美国VPS云服务器测试机器,那具体恒创科技美国云服务器性能到底怎么样呢?主机参考进行了一番VPS测评,大家可以参考一下,总体来说还是非常不错的,是值得购买的。非常适用于稳定建站业务需求。恒创科技服务器怎么样?恒创科技服务器好不好?henghost怎么样?henghost值不值得购买?SonderCloud服务器好不好?恒创科技henghost值不值得购买?恒创科技是...

cyclicbarrier为你推荐
微信收款语音播报怎么设置两部手机微信收款语音播报怎么设置adversary英语match,是什么意思.?weakhashmapjava中几种Map在什么情况下使用,并简单介绍原因及原理foxmail邮箱注册如何注册一个foxmail邮箱bindserviceonserviceconnected什么时候执行拓扑关系什么是空间数据的拓扑关系tvosios,tvos,watchos和os x的区别索引超出了数组界限索引超出了数组界限是怎么回事啊?色库赤峰中色库博红烨锌业有限公司就是冶炼厂在 赤峰的 什么地方,一 人知道吗???qq业务中心QQ业务怎么开通?
上海服务器租用 亚洲大于500m 西安电信测速 韩国俄罗斯 namecheap 商家促销 网通代理服务器 qq数据库 java空间 免费全能主机 什么是服务器托管 免费智能解析 绍兴电信 无限流量 四川电信商城 百度云加速 丽萨 美国凤凰城 美国盐湖城 石家庄服务器托管 更多