Какая будет библиотека параллельного выполнения Java:jsr166y?jsr166z?
-
09-09-2019 - |
Вопрос
Я хотел поиграть с предстоящей библиотекой параллелизма, которая будет включена в
Java 7 согласно этот сайт.
Кажется, его зовут JSR166.
В большинстве мест его эталонная реализация называется jsr166y, в то время как немногие ресурсы называют это jsr166z.
Я обнаружил два совершенно другой javadocs для каждой эталонной реализации.
Итак, какая реализация будет включена в Java 7?
РЕДАКТИРОВАТЬ
Пока люди, которые ответили, предполагают, что JSR166Y - это вещь для Java 7, я обнаружил этот документ (TS-5515) из JavaOne.Этот документ относится к Java 7, но упоминает LinkedAsyncaction, который присутствует только в JSR166Z Javadocs.(Путаница...)
Решение
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 здесь или присоединитесь к списку рассылки по интересам параллелизма:
Другие советы
Ссылка на сайте javac.info (jsr166z) использует замыкания BGGA, которых нет в JDK7.
Ссылка на сайте Дуга Ли (jsr166y) должна быть актуальной.Дуг — руководитель отдела технических характеристик.API был сокращен до основ, поскольку пока неясно, как структура fork-join будет использоваться на практике.Предположительно, библиотеки будут доступны на несколько более высоком уровне, и когда все уладится, в JDK8 можно будет добавить больше.
Просмотрев различные доступные ссылки (например, это письмо от Дуга Ли), кажется очевидным, что текущий JSR для дополнений параллелизма JDK7 — jsr166y.Кроме того, если вы перейдете на веб-страницу Замыкания для языка программирования Java (он же BGGA) и посмотрите (что есть на данный момент) 4-й пункт «Среда разветвления jsr166y Дуга Ли», jsr166y описывается как платформа разветвления «без типов функций», а jsr166z описывается как платформа разветвления-соединения «с типами функций». ."
Похоже, jsr166z — это нечто среднее между дополнениями параллелизма и BGGA.Возможно, это обеспечивает утилиты параллелизма, необходимые BGGA?