#java #java-loom
#java #java-loom
Вопрос:
Я скачал версию раннего выпуска с https://jdk.java.net/loom / и java запускается, но выполняет Class.forName("java.lang.Fiber")
и Class.forName("java.lang.FiberScope")
не работает. Есть ли флаг / jar, который необходимо включить?
Комментарии:
1. Прежде всего — убедитесь, что вы действительно запускаете ожидаемый выпуск java, а не какой-либо другой, установленный на вашем компьютере. Например, печать
System.getProperty("java.version")
.2. Также я не нашел никакого понятия
java.lang.Fiber
в репозитории ( github.com/openjdk/loom/search ? q = fiber ), и примеры использования предлагают построители потоков с.virtual()
методом для работы с зелеными потоками, так что, возможно, вы ищете что-то, чего там нет (или, может быть, оно было там некоторое время назад и было удалено позже)
Ответ №1:
Термин «волокно», похоже, был изменен на «виртуальный поток».
Смотрите интервью 2020-10 с Брайаном Гетцем в 31:00 на YouTube, где он упоминает об изменении названия.
Посмотрите в Java 16 Javadoc с ранним доступом для таких вещей, как Thread.VirtualThreadTask
.
См. терминологию виртуальных потоков, используемую в проекте JEP: повторно реализовать ThreadGroup, созданную 2020-09-07.
Смотрите Код, обсуждаемый в этой статье 2020-05 создание подобных вызовов Thread.startVirtualThread
. [Может быть устаревшим, я не знаю.]