Какая будет библиотека параллелизма на Java: jsr166y? jsr166z? - PullRequest
9 голосов
/ 16 апреля 2009

Я хотел поиграть с будущей библиотекой параллелизма, которая будет включен в
Java 7 в соответствии с на этом сайте .

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

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

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

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

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

Ответы [ 3 ]

11 голосов
/ 16 апреля 2009

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

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

  • Форк / соединение (но НЕ инфраструктура ParallelArray)
  • Коллекция TransferQueue / LinkedTransferQueue
  • Фазеры (циклические барьеры на стероидах)

Нажмите на JDK 8 (как минимум):

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

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

3 голосов
/ 16 апреля 2009

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

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

2 голосов
/ 16 апреля 2009

Глядя на различные доступные ссылки (например, это электронное письмо от Дуга Ли), становится ясно, что текущим JSR для дополнений параллелизма JDK7 является jsr166y. Кроме того, если вы зайдете на веб-страницу Закрытия для языка программирования Java (также известной как BGGA) и посмотрите на (что в настоящее время) четвертый маркированный элемент "Инфраструктура форк-соединения Дага Ли в jsr166y", описывается jsr166y в качестве структуры fork-join "без типов функций" и jsr166z описывается как структура fork-join "с типами функций".

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

...