原文链接,译文链接,译者:DOM,校对:郑旭东

Java7发布版本的具体计划应该开始了,之前经常有人问我们关于JSR166的后续计划包含哪些内容。下面是目前暂定的内容,欢迎提出你们的见
解和意见。
1.Phasers
一个通用的内存屏障实现。
2.LinkedTransferQueue (and TransferQueue interface)
一个具有非阻塞,阻塞和同步接口的队列。
3. ConcurrentReferenceHashMap
并发Hash Map,其键和值可以是弱引用或者软引用。
4. Fences (in java.util.concurrent.atomic)
底层的内存屏障实现
5. ForkJoin framework.
(具体见下面)
这些功能的初始版本可以在很多地方看到。Phasers 和 LinkedTransferQueues在JSR166y中,
链接地址 http://gee.cs.oswego.edu/dl/concurrency-interest/index.html。
Fences API 的说明可以在这个地址查看到,http://gee.cs.oswego.edu/dl/jsr166/dist/docs/java/util/concurrent/atomic/Fences.html。
说明文档还需要再做一些修改,同时Fences API也需要Java虚拟机的支持。(目前任何Java虚拟机上实现的Fences API都有效率问题,在Fences API能高效执行之前是没有多大用处的) 加入这个Fences API也是为了更好的与即将到来的C++0x APIs相对应。
Jason Greene基于ConcurrentHashMap编写了ConcurrentReferenceHashMap。我想最新的版本应该是在这里
http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbosscache/experimental/jsr166/src/jsr166y/ConcurrentReferenceHashMap.java?view=markup
我们推迟集成ConcurrentHashMap,因为需要等待GC支持Ephemerons(一个弱引用键-值链的方案)。虽然此举可以推动其它部门,但我不认为Ephemeron能很快得到支持,所以我们需要考虑在GC不支持Ephemerons情况下完成ConcurrentHashMap。
大多数人都知道目前的ForkJoin 框架有两部分组成,基本ForkJoin{Pool,Task}框架,以及基于这个基本框架的并行集合(目前只有ParallelArray)。我考虑只把基本框架集成进JDK,把并行集合部分作为非JDK的包继续开发。这样做可以避免暴露接口(IntAndLongToInt 等96个接口)和表达式问题(闭包等),而且要把这些加入JDK也需要艰难的讨论。推迟加入可以有更多的时间来激励开发和使用并发集合的包,同时也可以有时间让IDE,语言扩展和另外的JVM语言来支持。
同时我已经开始审阅把ForkJoin和Executor集成起来。ForkJoinPool会实现Executor的服务,ForkJoinTask会实现Future。(使之成为可能的主要思想是让控制阻塞和创建备用线程之间保持并发)。这可以更好的满足在Fortress and X10使用(这两种语言编译后会运行在JVM上)。但它也开始构建人们想要但却未曾开始着手干的基础设施,比如创建一系列循环(非 ForkJoin类型),每个循环有时候会创建ForkJoin任务。

更多细节将继续(获得内部并行维护行之有效会慢),但只增加简单的基础框架到java.util.concurrent: 类 ForkJoinPool (类ForkJoinWorkerThread 仍会为高级使用者和性能调优者保留)和 抽象类ForkJoinTask,以及三个子类RecursiveAction,RecursiveTask, AsyncForkJoinAction(最新一次修订后是为了用来在不提供类的情况下,构建诸如BinaryAsyncAction的类)。

我会等待你们对这些内容的意见和建议,之后再把这些内容到恰当的地方。(恰当的地方的意思是,我会把这内容整合进JSR66y, 然后加入
java.util.concurrent 包中).

Java7 java.util.concurrent 并发包计划相关推荐

  1. java 并发包学习_Java学习笔记—多线程(java.util.concurrent并发包概括,转载)

    一.描述线程的类:Runable和Thread都属于java.lang包 二.内置锁synchronized属于jvm关键字,内置条件队列操作接口Object.wait()/notify()/noti ...

  2. java并发编程3:使用JDK并发包(java.util.concurrent)构建程序

    原文地址为: java并发编程3:使用JDK并发包(java.util.concurrent)构建程序 java.util.concurrent 概述 JDK5.0 以后的版本都引入了高级并发特性,大 ...

  3. Java并发包-java.util.concurrent详解

    转载自https://blog.csdn.net/axi295309066/article/details/65665090 一.阻塞队列BlockingQueue BlockingQueue通常用于 ...

  4. java util下的并发包_jdk并发包下:使用java.util.concurrent.Executor线程池

    多线程,线程池Executor的接口类图: 其他都不重要,就ExecutorService是主要的: 基本上分为单纯线程池和定时任务线程池: 说白了除了ForkJoinPool所有都继承于Thread ...

  5. Java 理论与实践: 流行的原子——新原子类是 java.util.concurrent 的隐藏精华(转载)...

    简介: 在 JDK 5.0 之前,如果不使用本机代码,就不能用 Java 语言编写无等待.无锁定的算法.在 java.util.concurrent 中添加原子变量类之后,这种情况发生了变化.请跟随并 ...

  6. Java并发编程-并发工具包(java.util.concurrent)使用指南(全)

    1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包.这个包包含有一系列能够让 Ja ...

  7. 高并发第八弹:J.U.C起航(java.util.concurrent)

    java.util.concurrent是JDK自带的一个并发的包主要分为以下5部分: 并发工具类(tools) 显示锁(locks) 原子变量类(aotmic) 并发集合(collections) ...

  8. Java并发编程-并发工具包java.util.concurrent使用指南

    译序 本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新 本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurren ...

  9. java.util.concurrent介绍

    为什么80%的码农都做不了架构师?>>>    java.util.concurrent 包含许多线程安全.测试良好.高性能的并发构建块.不客气地说,创建 java.util.con ...

最新文章

  1. Redis6安装配置集群cluster以及集群宕机注意事项
  2. python映射类型-python 基础学习 — 映射类型:字典
  3. Chrome——我的Chrome插件
  4. linux 同步 多终端,Linux系统如何实现不同终端间的同步
  5. 剑指 Offer 面试题45:把数组排成最小的数——Python内置函数 map()、__lt__()、join()、sorted()
  6. Python爬虫实战之(五)| 模拟登录wechat 1
  7. python的变量如何理解_Python程序中变量作用范围应该如何理解?
  8. 日出时的画面_如何拍摄日出日落,老摄影家近30年创作经验分享
  9. 作品上传设计师交流社区,从而获得很好的传播效果
  10. 什么是UML?分哪两类?
  11. php 修改json数组的值,php – 无法通过str_replace更改JSON数组中的值
  12. 现代数字信号处理第九章——盲信号处理
  13. 【实用】SAP成本组件分割价格取数逻辑
  14. chrome浏览器打开base64图片
  15. 2015年阿里实习经历
  16. 北京市居民公共交通出行特征
  17. SQL报错及解决方法(随缘更新)
  18. 转载:Primo Ramdisk配置教程
  19. CPU性能是否受年龄影响?
  20. 郑莉老师c++第五版+b站视频 学习笔记

热门文章

  1. Windows Phone 7新开发工具发布
  2. 数据中心是虚拟现实的基石
  3. Appium+python自动化3-启动淘宝app
  4. AIX的用户和组管理
  5. 汽车模型身上出现反射效果
  6. lodash源码分析之获取数据类型
  7. jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查
  8. Android.Hook框架xposed篇(Http流量监控)
  9. 车企纷抢无人驾驶赛道,中国智能汽车确定将立法
  10. Python黑帽编程 3.1 ARP欺骗