2009-04-15 3 views
9

Я хотел поиграть с будущей библиотекой параллелизма, которую будет включен в
Java 7 согласно this website.Какова будущая библиотека параллельного Java-взаимодействия: jsr166y? jsr166z?

Кажется, что оно названо JSR166.

В большинстве мест его эталонная реализация называется, как jsr166y, пока мало ресурсов называют его jsr166z.

Я обнаружил два полностью разных javadocs для каждой эталонной реализации.

Теперь, реализация которых будет включена в Java 7?

EDIT
Хотя люди, которые ответили предположить, что jsr166y это вещь для Java 7, я обнаружил this document (TS-5515) от JavaOne. Этот документ относится к Java 7, но упоминает LinkedAsyncAction , который присутствует только в jsr166z javadocs. (Confusion ...)

+0

Примечание: в этом документе вы ссылаетесь также явно говорит загрузить jsr166y - на слайде 14. – Eddie

+0

Ссылка jsr166y doc нарушена. –

ответ

11

JSR 166 был оригинальным Java-параллелизмом jsr для Java 5, который создал java.util.concurrent. Они выполнили ревизию обслуживания на Java 6 под названием JSR 166x. Обозначение обслуживания Java 7 - JSR 166y. JSR 166z - версия прототипа закрытия.

В настоящее время планируется включить в JSR 166y является:

  • Fork/Join (но НЕ рамочная параллельный массив) коллекция
  • TransferQueue/LinkedTransferQueue
  • фазер (CyclicBarriers на стероидах)

Push to JDK 8 (не менее):

  • Заборы API (низкий уровень), пытаясь удалить как использование небезопасных вызовов
  • ConcurrentReferenceHashMap (переменные сильные/слабые рефов, одновременно, и т.д.)

Для получения дополнительной информации, javadoc here или присоединиться к списку рассылки параллелизм беспроцентный :

+0

Итак, загружаемый JSr166y JAR еще не завершен, не так ли? –

+0

Наверное, нет. Я думаю, что банка может включать только материал ForkJoin. –

+0

Исправлена ​​ошибка ссылки doc для jsr166y. –

3

Ссылка на сайт javac.info (jsr166z) использует блокировки BGGA, которые не будут находиться в JDK7.

Ссылка на сайт Doug Lea (jsr166y) должна быть актуальной. Даг - это спецификация. API был укорочен до того, как будет использоваться на практике структура fork-join на практике. Предположительно, библиотеки будут доступны на несколько более высоком уровне, и когда дело доходит до большего, можно добавить в JDK8.

2

Доступ к различным имеющимся ссылкам (например, this Email от Doug Lea), кажется очевидным, что текущие JSR для добавления параллелизма JDK7 - jsr166y. Кроме того, если вы перейдете на веб-страницу Closures for the Java Programming Language (aka BGGA) и посмотрите (что в настоящее время) на 4-й маркированный элемент «каркас fork-join Doug Lea's jsr166y», jsr166y описывается как каркас fork-join «без типов функций» и описывается jsr166z как каркас fork-join "с типами функций."

Похоже, что jsr166z - это крест между дополнениями параллелизма и BGGA. Возможно, это обеспечивает средства параллелизма, необходимые BGGA?

+0

BGGA не требует этих дополнений параллелизма. На дизайн дополнительных дополнений можно повлиять, какие закрытия мы получаем за пределами анонимных внутренних классов. –