9


根据这个网站,我想玩弄即将包含在 Java 7 中的并发库。

它似乎被命名为JSR166

在大多数地方,它的参考实现称为jsr166y,而很少有资源将其称为 jsr166z

我为每个参考实现发现了两个完全不同的 javadocs。

现在,Java 7 中将包含哪个实现?

编辑
虽然回答的人建议 jsr166y 是 Java 7 的东西,但我从 JavaOne发现了这份文档 (TS-5515) 。本文档引用了 Java 7,但提到了仅存在于 jsr166z javadocs 中的 LinkedAsyncAction。(困惑...)

4

3 回答 3

11

JSR 166 是 Java 5 的原始 Java 并发 jsr,它创建了 java.util.concurrent。他们在 Java 6 中进行了名为 JSR 166x 的维护修订。Java 7 维护版本是 JSR 166y。JSR 166z 是闭包原型版本。

目前计划包含在 JSR 166y 中的是:

  • Fork/join(但不是 ParallelArray 框架)
  • TransferQueue / LinkedTransferQueue 集合
  • 移相器(类固醇上的 CyclicBarriers)

推送到 JDK 8(至少):

  • Fences API(低级),试图删除不安全调用的使用
  • ConcurrentReferenceHashMap(变量强/弱引用,并发等)

欲了解更多信息,请点击此处的 javadoc或加入并发兴趣邮件列表:

于 2009-04-16T03:08:43.327 回答
3

javac.info 站点 (jsr166z) 上的链接使用了 BGGA 闭包,它不会出现在 JDK7 中。

Doug Lea 网站 (jsr166y) 上的链接应该是最新的。Doug 是规格负责人。该 API 已被精简为基础,因为在实践中如何使用 fork-join 框架尚不清楚。据推测,库将在稍微更高的级别上可用,当事情稳定下来时,可以将更多的库添加到 JDK8。

于 2009-04-15T22:22:25.837 回答
2

查看各种可用的参考资料(例如, Doug Lea 的这封电子邮件),似乎很清楚当前用于 JDK7 并发添加的 JSR 是 jsr166y。此外,如果您访问Java 编程语言的闭包(又名 BGGA)网页并查看(目前是什么)第 4 个项目符号“Doug Lea 的 jsr166y fork-join 框架”,jsr166y 被描述为 fork-join 框架“没有函数类型”,而 jsr166z 被描述为“有函数类型”的 fork-join 框架。

看起来 jsr166z 是并发添加和 BGGA 之间的交叉。也许这提供了 BGGA 所需的并发实用程序?

于 2009-04-15T22:27:46.730 回答