当前位置: 首页 > 面试题库 >

即将发布的Java并发库是什么:jsr166y?jsr166z?

单修德
2023-03-14
问题内容

我想使用即将发布的并发库,
根据 该网站

库将包含在Java 7中。

它似乎被命名为 JSR166

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

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

  • jsr166y的 文档 ****
  • jsr166z的 文档 ****

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

编辑
虽然回答的人认为html" target="_blank">jsr166y是Java 7的东西,但我从JavaOne 发现了
文档(TS-5515)。该文档引用了Java
7,但提到了仅在jsr166z javadocs中存在的LinkedAsyncAction。(混乱…)


问题答案:

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

当前计划包括在JSR 166y中的是:

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

推送至JDK 8(至少):

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

有关更多信息,请在此处javadoc或加入并发兴趣邮件列表:

  • http://cs.oswego.edu/mailman/listinfo/concurrency-interest


 类似资料:
  • 主要内容:线程的生命周期,线程优先级,通过实现Runnable接口创建一个线程,通过扩展Thread类创建一个线程Java是一种多线程编程语言,我们可以使用Java来开发多线程程序。 多线程程序包含两个或多个可同时运行的部分,每个部分可以同时处理不同的任务,从而能更好地利用可用资源,特别是当您的计算机有多个CPU时。多线程使您能够写入多个活动,可以在同一程序中同时进行操作处理。 根据定义,多任务是当多个进程共享,如CPU处理公共资源。 多线程将多任务的概念扩展到可以将单个应用程序中的特定操作细分

  • 问题内容: 在《 Java Concurrency In Practice》中,作者指出 不变对象可以通过任何机制发布 不可变对象可以在没有附加同步的情况下被任何线程安全地使用,即使不使用同步来发布它们。 这是否意味着以下成语可以发布不可变对象? 会有数据竞赛吗?(这意味着线程B可能无法在线程A添加的列表中看到不可变对象) 非常感谢你。 此外,作者说,如果Resource是不可变的,以下代码是安全

  • null 对于此问题的第二部分,将在另一个问题(单击此处)中详细讨论

  • 由于引用字段lastLogin没有任何字段的属性来保证可见性(final、volatile、guarded或由静态初始化器初始化),我认为映射本身可能不会以完全构造的状态显示给其他线程,因此本末倒置。还是我错过了什么?

  • 本文向大家介绍什么是金丝雀发布(Canary Releasing)?相关面试题,主要包含被问及什么是金丝雀发布(Canary Releasing)?时的应答技巧和注意事项,需要的朋友参考一下 金丝雀发布是一种降低在生产中引入新版本软件风险的技术。通过在将更改传递给整个基础架构之前将更改缓慢地推广到一小部分用户来完成的。

  • maven发布插件到底是什么?它的目的是什么?我在教程中找到了它,但不明白它有什么用处。此外,老师还向我们展示了如何在GitHub上创建标记。maven发布插件和GitHub有什么共同点?