草庐IT

并行性

全部标签

java - Java 中的并行 XML 解析

我正在编写一个应用程序,它处理大量具有深层节点结构的xml文件(>1000)。使用woodstox大约需要六秒钟(事件API)解析具有22.000个节点的文件。该算法被放置在一个与用户交互的过程中,其中只有几秒的响应时间是可以接受的。所以我需要改进如何处理xml文件的策略。我的流程分析xml文件(仅提取几个节点)。处理提取的节点并将新结果写入新的数据流(生成具有修改节点的文档副本)。现在我正在考虑多线程解决方案(在16核+硬件上扩展性更好)。我考虑了以下策略:创建多个解析器并在xml源上并行运行它们。重写我的解析算法线程保存以仅使用解析器的一个实例(工厂,...)将XML源拆分为blo

java - 从 S3 并行读取多个文件(Spark、Java)

我看到了一些关于此的讨论,但不太理解正确的解决方案:我想将几百个文件从S3加载到RDD中。这是我现在的做法:ObjectListingobjectListing=s3.listObjects(newListObjectsRequest().withBucketName(...).withPrefix(...));Listkeys=newLinkedList();objectListing.getObjectSummaries().forEach(summery->keys.add(summery.getKey()));//repeatwhileobjectListing.isTrunc

c# - Java中任务并行库的等价物

我猜Java中没有(.NET4.0的)任务并行库。真的吗?.NET的这一特性提供了哪些Java并发所没有的改进。 最佳答案 Java有java.util.concurrent包,还有fork/joinframework.fork/加入是scheduledforinclusion在Java7中,但可以是downloadednow并与Java6一起使用。一本掌握Java并发性的好书是JavaConcurrencyinPractice,由BrianGoetz等人撰写。 关于c#-Java中任务

java - 排除特定测试在 jUnit 中并行运行

我最近偶然发现了一种通过jUnit并行执行测试的简单方法,方法是在java项目的pom.xml文件中指定以下内容:org.apache.maven.pluginsmaven-surefire-pluginclasses我发现有2个测试类(我们称它们为“badtestclass1”和“badtestclass2”)由于其中测试的编写方式而不断受到这种并行执行的惩罚。理想情况下,我会重构这些测试类以使其表现更好,但在此期间,我想知道是否有一种巧妙的方法可以“排除”这些特定类的并行执行。基本上,有没有办法并行执行其他所有内容,然后依次执行这两个(或其他顺序,无关紧要)。像下面这样的东西会起作

利用路由懒加载和CDN分发策略,对Vue项目进行性能优化

目录一、Vue项目二、路由懒加载三、CDN分发策略四、如何对Vue项目进行性能优化一、Vue项目Vue是一种用于构建用户界面的JavaScript框架,它是一种渐进式框架,可以用于构建单页应用(SPA)和多页应用。Vue具有简单易学、灵活、高效的特点,被广泛应用于Web开发。在Vue中,一个项目通常包括以下几个重要的部分:Vue组件:Vue项目的核心是组件。一个组件是一个可重用的、独立的模块,用于构建用户界面。每个组件包括HTML模板、JavaScript代码和CSS样式。Vue实例:Vue应用的入口是一个Vue实例,它是一个由Vue构造函数创建的对象。Vue实例用于管理整个应用的状态和行为,

Java 并行流 : how to wait for threads for a parallel stream to finish?

所以我有一个列表,我从中获取并行流来填充map,如下所示:Mapmap=newHashMap();Listlist=some_filled_list;//Puttingdatafromthelistintothemaplist.parallelStream().forEach(d->{TreeNodenode=newTreeNode(d);map.put(node.getId(),node);});//printoutmapmap.entrySet().stream().forEach(entry->{System.out.println("ProcessingnodewithID="

java - 在 Java 中并行执行依赖任务

我需要找到一种在java中并行执行任务(依赖和独立)的方法。任务A和任务C可以独立运行。任务B取决于任务A的输出。我检查了java.util.concurrentFuture和Fork/Join,但看起来我们无法将依赖项添加到任务。任何人都可以指出我更正JavaAPI。 最佳答案 在Scala中这很容易做到,我认为你最好使用Scala。这是我从这里提取的示例http://danielwestheide.com/(Scala新手指南第16部分:从这里到哪里去)这个人有一个很棒的博客(我不是那个人)让我们以一位barrista煮咖啡为例

java - Java 8 并行流是否对序列使用相同的线程

假设我们有这样的东西:LongStream.range(0,10).parallel().filter(l->{System.out.format("filter:%s[%s]\n",l,Thread.currentThread().getName());returnl%2==0;}).map(l->{System.out.format("map:%s[%s]\n",l,Thread.currentThread().getName());returnl;});如果你运行这个程序输出会是这样的:filter:6[main]map:6[main]filter:5[main]filter:4

java - 在 IntelliJ IDEA 中并行运行 JUnit 测试

我有一大套测试需要大约半小时才能运行,并且希望能够并行测试类。有没有办法用IntelliJIDEA9做到这一点? 最佳答案 IDEA只能从版本10开始理解并行JUnit测试。有一个跟踪器问题,您可以投票支持并观察进展:http://youtrack.jetbrains.net/issue/IDEA-47103我们计划将其添加到IDEA10中,但优先级将取决于投票数。 关于java-在IntelliJIDEA中并行运行JUnit测试,我们在StackOverflow上找到一个类似的问题:

Java 8 - 并行调用异步方法并合并它们的结果

我是Java8并发特性(例如CompletableFuture)的新手,希望您能帮助我开始使用以下用例。有一个名为TimeConsumingServices的服务,它提供耗时的操作,我想并行运行这些操作,因为它们都是独立的。interfaceTimeConsumingService{defaultStringhello(Stringname){System.out.println(System.currentTimeMillis()+">hello"+name);return"Hello"+name;}defaultStringplanet(Stringname){System.out