InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

Java 并发新特性: Phasers

  • 2008-07-16
  • 本文字数:820 字

    阅读完需:约 3 分钟

本周, JSR 166 并发工具包的规范领导者——Doug Lea,就 JSR-166y 引入的新特性——Phasers 在 166y concurrency-interest 邮件列表上发贴推介。

之前受限于 ForkJoinTasks(在 forkjoin.TaskBarrier 类中) 的灵活的 Barrier 功能,现在被重写为 Phaser 类(放在 j.u.c 而不是 j.u.c.forkjoin 中),这样就可以应用到任何任务中去。

“Phaser"这个概念和名字是由 Rice 大学的一个团队在一份白皮书中创造出来的。这样命名的原因在于该构造的相位有序性和死锁预防属性。这份白皮书较为详尽地解释了phaser 的概念。同Java 目前已有特性相比,虽然Phaser 实现的功能与 CyclicBarrier 类 (Java5 中引入)类似,但是在灵活性上它要更胜一筹。 > [java.util.concurrent]CyclicBarrier 类支持线程集内周期性 Barrier 同步。然而它并不能像 Phasers 那样做到线程的动态添加和移除,以及单向同步和分相操作。

研究另外的 Barrier 实现的主要动机之一不仅仅是要增加灵活性,还要提高 Barrier 同步概念的性能和可伸缩性。 > Phasers 在三个不同的 SMP 系统上运行结果显示,除了普遍适用性和安全性带来的生产效率的提高外,其性能也明显优于现有的 Barrier 实现。

正如 Doug Lea 所说,JSR-166y 引入的 Phaser 由现有的 fork/join 框架改写而来。 InfoQ 此前的很多文章都提到过fork/join 框架,它是即将发布的166y JSR 的重要特性之一,Doug Lea 曾为其专门写过一份介绍用途和用法的白皮书 。前面提到的TaskBarrier 类被fork/join 框架用来管理不同任务的边界,并合并运行结果,换句话说就是连接任务。 在JSP-166y 上可以找到 Phaser 类的 Javadoc 草稿,Lea 在他发给邮件列表的邮件中强调现在的文档仍然出于草稿状态:

一如即往地欢迎提出意见和建议。在我们进一步研究如何使用它的过程中,API 也许会发生一些改变,我们希望在此过程中能发现更合适的方法名。

目前人们都期待着 JSR-166y 被纳入 Java 7,成为该平台的一部分。 查看英文原文: New Java Concurrency Feature: Phasers

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2008-07-16 04:061806
用户头像

发布了 127 篇内容, 共 40.7 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

小谈 Java 单元测试

xcbeyond

Java 单元测试 28天写作

产品经理训练营第四章作业(二)

新盛

设计模式【3.1】-- 浅谈代理模式之静态、动态、cglib代理

秦怀杂货店

动态代理 代理模式

架构学习20210302日(001)

张小胖

玩家永远是对的——认知失调

Justin

心理学 28天写作 游戏设计

滚动加载的网页只需点 10 下鼠标即可抓取,无编码学爬虫之四

梦想橡皮擦

Python 28天写作 3月日更

第5次作业

Geek_娴子

极客时间购买课程的流程图

踏凌霄

第五六周心得

Trigger

极客时间 产品经理训练营

产品文档总结

mas

在云中应用自动化的5种方法

浪潮云

云计算

产品经理 - 第四章作业

Geek_971380

翻译:《实用的Python编程》03_03_Error_checking

codists

Python

作业

云随心

产品训练营作业

第五周作业

z

时间管理这件事儿「Day 11」

道伟

28天写作

挑一个产品,想一个你想做的新功能,然后写个相对完整的文档

mas

分享一个务实派CEO的理念和实践

boshi

经验分享 七日更 28天写作

抽奖助手--抽奖用例流程图

小蜜蜂

3月份开始了

Nydia

第5周作业

KYoKO

To B产品经理需要哪些能力呢?

博文视点Broadview

一文帮你搞懂 Android 文件描述符

vivo互联网技术

android 文件 文件系统

产品经理训练营第四章作业(二)

猫。

0 期产品训练营第五周作业 - 学情周报活动图

skylar

算法刷题提醒——微信小程序 [持续优化ing]

小匚

深度思考 随笔杂谈 成长与思考

第五周

Jove

「产品经理训练营」作业 05

🌟

产品 产品经理 产品经理训练营 产品训练营 产品训练营作业

关于数码产品

ES_her0

28天写作 3月日更

抽奖助手小程序 发起抽奖流程图

Shine

产品

Elasticsearch search scroll 游标查询

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 3月日更

  • 扫码添加小助手
    领取最新资料包
Java并发新特性: Phasers_Java_R.J. Lorimer_InfoQ精选文章