Является ли API потока заменяющим Observer и Observable

В Java 9 Flow API заменит Observer и Observable? Если нет, что делает?

Ответ 1

Новый Flow API разработан как общий знаменатель для реактивных потоков, таких как RxJava и Reactive X. Основываясь на Java 9, они могут имеют свои типы, расширяющие новые интерфейсы (или так думает). Хотя, конечно, обаятельно использовать API внутри JDK, это не так в Java 9, и нет конкретных планов по его внедрению (насколько мне известно).

Относительно Observer и Observable проблема, вызвавшая устаревание, гласит:

Разработчики приложений должны рассмотреть возможность использования java.beans для более богатой модели уведомлений об изменениях. Или они должны рассматривать конструкции в java.util.concurrent, такие как очереди или семафоры для передачи сообщений между потоками, с надежными свойствами упорядочения и синхронизации.

Это рекомендации для разработчиков приложений для написания нового кода. Он не дает рекомендаций по обновлению существующего кода или что делать внутри JDK. Я думаю, причина в том, что оба случая должны оставаться такими, какими они есть.

Обратите внимание, что Java не использует @Deprecated, чтобы обязательно означать, что "будет удалено". Вместо этого это также означает "использовать лучшие альтернативы", и я думаю, что это так. Поэтому, чтобы ответить на ваш вопрос в нескольких словах:

В Java 9 API потока заменяет Observer и Observable

Нет.

и если это не так.

Ничего.