时间:2021-05-19
本文实例为大家分享了利用CountDownLatch实现并行计算的具体代码,供大家参考,具体内容如下
import java.util.concurrent.CountDownLatch;/** * @Author pipi * @Date 2018/10/15 13:56 **/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); }}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Java通过Fork/Join优化并行计算的具体代码,供大家参考,具体内容如下Java代码:packageThreads;importjav
在.net4.0以后异步操作,并行计算变得异常简单,但是由于公司项目开发基于.net3.5所以无法用到4.0的并行计算以及Task等异步编程。因此,为了以后更方
并行计算部分沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持。我们会用到的方法有For,For
goroutine简介goroutine是go语言中最为NB的设计,也是其魅力所在,goroutine的本质是协程,是实现并行计算的核心。goroutine使用
本文实例讲述了Python基于pyCUDA实现GPU加速并行计算功能。分享给大家供大家参考,具体如下:Nvidia的CUDA架构为我们提供了一种便捷的方式来直接