Добавлено два новых интерфейса и 4 новых класса:

Интерфейс Java9 для параллелизма

  • Интерфейс CompletableFuture.AsynchronousCompletionTask
  • Стадия завершения интерфейса

Классы Java9 для параллелизма

  • Класс CompletableFuture
  • Класс ConcurrentHashMap.KeySetView
  • Класс CountedCompleter
  • Исключение завершения класса

2. Новый метод java.util.concurrent.ConcurrentHashMap

Структура сбора данных была пересмотрена в Java 8, и было добавлено множество методов агрегирования на основе потоковых и лямбда-выражений. Таким образом, ConcurrentHashMap также представил более 30 новых методов, включая различные методы foreach (forEach, forEachKey, forEachValue и forEachEntry), методы поиска (search, searchKeys, searchValues ​​и searchEntries) и методы сокращения (reduce, reduceToDouble, reduceToLong и т. д.). ).

Также были добавлены некоторые другие методы, такие как mappingCount и newKeySet. А текущая версия ConcurrentHashMap больше подходит для кеша, потому что добавляет метод проверки, когда значение ключа не существует.

3. Новые классы Java9 в java.util.concurrent.atomic

Для одновременного вычисления количества и суммы были введены новые классы DoubleAccumulator, DoubleAdder, LongAccumulator, LongAdder, которые обеспечивают более высокую пропускную способность, чем Atomic.

4. Новый метод для java.util.concurrent.ForkJoinPool.

Недавно добавлен статический commonPool(), чтобы обеспечить общий пул для ForkJoinTask.

Два метода getCommonPoolParallelism() и commonPool() обеспечивают разные конфигурации.

5. Новый класс в Java9 java.util.concurrent.locks.StampedLock

Новый класс StampedLock предоставляет три режима (запись, чтение, оптимистическое чтение) для повышения производительности.

6. Изменения в пакете Concurrent в Java9

В основном JEP 266: больше обновлений параллелизма, включая публикацию-подписку, улучшение интерфейса CompletableFuture и т. д.

Поддержка инфраструктуры публикации-подписки Reactive Streams, четырех интерфейсов Processor, Publisher, Subscriber, Subscription, класса контейнера java.util.concurrent.Flow, java.util.concurrent.SubmissionPublisher
Улучшение класса CompletableFuture, поддержка задержек, тайм-аута, подклассов и другие методы
Настройка и изменение javadoc