网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么在java中利用CountDownLatch实现并行计算

这期内容当中小编将会给大家带来有关怎么在java中利用CountDownLatch实现并行计算,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联建站长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为崇阳企业提供专业的成都网站设计、网站建设,崇阳网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

具体内容如下

import java.util.concurrent.CountDownLatch;


public class ParallelComputing {
  private int[] nums;
  private String[] info;
  private CountDownLatch countDownLatch;

  public ParallelComputing(String[] info) {
    this.info = info;
    int size = info.length;
    nums = new int[size];
    this.countDownLatch = new CountDownLatch(size);
  }

  public void calc(String line, int index) throws InterruptedException {
    String[] numbers = line.split(",");
    int total = 0;
    for (String num : numbers) {
      total += Integer.parseInt(num);
    }
    Thread.sleep(5000);
    nums[index] = total;
    countDownLatch.countDown();
    System.out.println(Thread.currentThread().getName() + "执行计算任务..." + line + ",结果为:" + total);
  }

  public void sum() {
    System.out.println("汇总线程开始执行...");
    int total = 0;
    for (int i : nums) {
      total += i;
    }
    System.out.println("汇总线程结束执行...结果为:" + total);
  }

  public void calcSum() throws InterruptedException {
    int size = info.length;
    for (int i = 0; i < size; i++) {
      final int j = i;
      new Thread(() -> {
        try {
          calc(info[j], j);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }).start();
    }
    countDownLatch.await();
    sum();
  }

  public static void main(String[] args) throws InterruptedException {
    long start = System.currentTimeMillis();
    String[] info = {
        "2,22",
        "3,33",
        "232,32,76,84",
        "99,45,1"
    };
    ParallelComputing parallelComputing = new ParallelComputing(info);
    parallelComputing.calcSum();
    long end = System.currentTimeMillis();
    System.out.println(end - start);
  }
}

Java有哪些集合类

Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3、Set集合:不可重复;4、Map映射:无序,键唯一,值不唯一。

上述就是小编为大家分享的怎么在java中利用CountDownLatch实现并行计算了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


新闻名称:怎么在java中利用CountDownLatch实现并行计算
网站链接:http://bjjierui.cn/article/pijjeh.html

其他资讯