首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中任务并行库的等价物

Java中任务并行库的等价物
EN

Stack Overflow用户
提问于 2010-11-07 19:55:25
回答 4查看 9.9K关注 0票数 14

我猜在.NET中没有任务并行库(Java4.0)的等价物。这是真的吗?.NET的这一特性提供了哪些Java并发没有提供的改进。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-07 20:01:41

Java有java.util.concurrent包,还有fork/join framework。Fork/join在Java7中是scheduled for inclusion,但是可以是downloaded now并用于Java6。

Brian Goetz和其他人写的Java Concurrency in Practice是一本用Java语言处理并发的好书。

票数 13
EN

Stack Overflow用户

发布于 2014-05-29 08:07:06

Habanero-Java library (HJ-lib)是Rice University开发的教学并行编程模型Habanero-Java (HJ)的新库实现。HJ-lib能够表达多种不同形式的并行模式,包括数据并行、流水线并行、流并行、循环并行和分而治之的并行。

HJ-lib在单个编程模型中集成了广泛的并行编程构造(例如,异步任务、未来、数据驱动任务、forall、障碍、相位、事务、参与者),该编程模型使得能够实现这些构造的唯一组合(例如,任务和参与者并行性的嵌套组合)。

HJ-lib是使用lambda expressions构建的,可以在任何Java8JVM上运行。较旧的JVM可以通过依赖外部字节码转换工具来实现兼容性。HJ运行时负责编排HJ任务的创建、执行和终止,并且具有工作共享和工作窃取调度器。

对于教育工作者来说,HJ-lib也是一个有吸引力的工具,可以从莱斯大学提供的大二水平的COMP 322 course中获得大量的教育资源。这些资源还可以用来了解库API。接口的Javadoc为also available

下面是一个简单的HelloWorld版本:

代码语言:javascript
复制
import static edu.rice.hj.Module1.*;

public class HelloWorld {

    public static void main(final String[] args) {

        launchHabaneroApp(() -> {

            finish(() -> {
                async(() -> System.out.println("Hello"));
                async(() -> System.out.println("World"));
                async(() -> System.out.println("in"));
                async(() -> System.out.println("HJ-lib"));
            });

        });
    }
}

COMP 322 course website提供了各种并行结构的更多示例。

票数 4
EN

Stack Overflow用户

发布于 2019-03-12 20:52:38

据我所知,在Java中没有类似的东西。

我写了一个受TPL启发的Java任务库。它并不支持TPL的所有特性,但符合我当时的要求。

Github:https://github.com/BrunoMNDantas/TPL4J

Maven:https://mvnrepository.com/artifact/com.github.brunomndantas/tpl4j

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4117579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档