Описание тега project-loom

Project Loom относится к функциям и API виртуальной машины Java, касающимся облегченного параллелизма и связанных с ним моделей программирования. Примеры включают виртуальные потоки (предварительная версия в JDK 19) и структурированный параллелизм (инкубация в JDK 19).
3 ответа

Project loom: что повышает производительность при использовании виртуальных потоков?

Чтобы дать некоторый контекст, я уже некоторое время слежу за ткацким станком. Я прочитал состояние ткацкого станка. Я занимался асинхронным программированием. Асинхронное программирование (предоставляемое java nio) возвращает поток в пул потоков, к…
2 ответа

Есть ли способ узнать, на каком несущем потоке работает виртуальный поток?

Я впервые играю с Project Loom и у меня есть код try (var executor = Executors.newVirtualThreadExecutor()) { IntStream.range(0, 16).forEach(i -> { System.out.println("i = " + i + ", Thread ID = " + Thread.currentThread()); executor.submit(() -&gt…
28 окт '21 в 09:51
1 ответ

Можно ли использовать Project Loom из Котлина?

Я только начинаю играть с Project Loom ... Учитывая код Java, который, кажется, работает правильно try (ExecutorService executor = Executors.newVirtualThreadExecutor()) { IntStream.range(0, 16).forEach(i -> { System.out.println("i = " + i + ", Th…
28 окт '21 в 17:39
3 ответа

Будут ли исключения в Project Loom когда-нибудь распространяться через контексты ExecutorService?

Из ткацкой лаборатории , учитывая код var virtualThreadFactory = Thread.ofVirtual().factory(); try (var executorService = Executors.newThreadPerTaskExecutor(virtualThreadFactory)) { IntStream.range(0, 15).forEach(item -> { executorService.submit(…
30 окт '21 в 05:10
1 ответ

Улучшит ли Project Loom Virtual Threads производительность параллельных потоков?

Это не дубликат статьи " Как написать правильный микротест на Java?" Вопрос лежит в основе разработки и реализации Project Loom, а также в том, смог ли проект повысить производительность параллельных потоков Java или нет. Вопрос не в тестировании пр…
04 ноя '21 в 01:07
2 ответа

Запустить демонстрацию ткацкого станка в IDEA

Я хочу запустить демонстрацию loom, я загрузил jdk18-loom с http://jdk.java.net/loom/ и загрузил последнюю версию IDEA: Независимо от того, что я выберу X или 17-preview, программа не запускается, сообщает: Executors.newVirtualThreadPerTaskExecutor(…
2 ответа

Как мне настроить собственную сборку JDK в sdkman?

Я смог поиграть с последним двоичным файлом раннего доступа для Project Loom, загрузив файл с http://jdk.java.net/loom/, распаковав его (у меня был каталог с именем), установив JAVA_HOME env var в jdk-18 каталог и добавив bin подкаталог для сборки в…
20 дек '21 в 01:28
1 ответ

Как виртуальные потоки сопоставляются с фактическим потоком

Как написано, виртуальные потоки в конечном итоге отображаются на фактические потоки. Допустим, создано 1 миллион виртуальных потоков. Я предполагаю, что в 8-ядерном процессоре будет 8 потоков ядра. Итак, мои вопросы как 1 миллион виртуальных потоко…
04 янв '22 в 13:30
1 ответ

Проблемы с попыткой использовать Project Loom/Virtual Threads с OpenJDK 19-loom JAVA

Я пытаюсь протестировать проект эталонного ткацкого станка виртуальных потоков на Java и использую следующую версию JDK 19-loom: package com; import java.util.concurrent.ThreadFactory; public class a { public static void main (String [] args) throws…
3 ответа

Различается ли `Thread.sleep` с виртуальными потоками (волокнами) в Project Loom для Java

я используюпри экспериментировании или демонстрации кода Java для параллелизма . Во сне я имитирую некую работу по обработке, которая займет некоторое время. Мне интересно сделать это в рамках . В рамках технологии Project LoomProject Loom с виртуал…
17 дек '20 в 00:46
1 ответ

Структурированный параллелизм Java

Структурированный параллелизм: простой принцип, который гласит, что когда поток выполнения разделяется на несколько параллельных потоков, они воссоединяются в одном и том же блоке кода. Источник Исходя из этого, предположим, что у меня есть что-то в…
20 янв '22 в 01:27
2 ответа

Обнаружение технологии Project Loom как отсутствующей или присутствующей JVM во время выполнения

Project Loom теперь доступен в специальных ранних сборках Java 16. Если бы мне пришлось запускать приложение на основе Loom в реализации Java, в которой отсутствует технология Project Loom, есть ли способ обнаружить это изящно на раннем этапе запуск…
17 дек '20 в 00:34
3 ответа

Проект ткацкий станок, что происходит, когда виртуальный поток делает блокирующий системный вызов?

Я изучал, как работает Project Loom и какие преимущества он может принести моей компании. Итак, я понимаю мотивацию для стандартного бэкэнда на основе сервлета, всегда есть пул потоков, который выполняет бизнес-логику, как только поток блокируется и…
30 ноя '21 в 18:40
0 ответов

Почему параллельные потоки не работают с виртуальными потоками так же быстро, как общий пул потоков?

Я экспериментирую с виртуальными потоками в своем проекте ткацкой лаборатории и хотел посмотреть, быстрее ли виртуальные потоки, чем потоки платформы, при выполнении параллельного потока, но на самом деле это кажется медленнее. try (var executorServ…
03 ноя '21 в 19:49
4 ответа

Project loom: почему виртуальные потоки не используются по умолчанию?

Согласно документации ткацкого станка проекта, виртуальные потоки ведут себя как обычные потоки, имея почти нулевую стоимость и возможность превращать блокирующие вызовы в неблокирующие. Если это правда, то почему это разные вещи? Почему бы просто н…
20 апр '22 в 20:32
4 ответа

Что именно делает виртуальные потоки Java лучше

Я в восторге от Project Loom, но есть одна вещь, которую я не могу полностью понять. Большинство серверов Java используют пулы потоков с определенным лимитом потоков (200, 300 ..), однако вы не ограничены ОС, чтобы создавать гораздо больше, я читал,…
04 май '22 в 16:48
0 ответов

Продолжения в предварительном просмотре Loom не найдены

Я только что загрузил последнюю сборку раннего доступа для Project loom, и, похоже, она работает довольно хорошо ( Thread.startVirtualThreadпо крайней мере работает). Но когда я пытаюсь импортировать java.lang.Continuation, я получаю сообщение об ош…
19 мар '22 в 12:52
1 ответ

Могу ли я уточнить проект Loom?

Брайан Гетц вдохновил меня на проект Loom, и, чтобы в полной мере оценить его, мне потребуются некоторые разъяснения относительно статус-кво. Мое понимание таково: в настоящее время, чтобы иметь реальный параллелизм, нам нужно иметь поток на процесс…
18 апр '22 в 11:09
1 ответ

TLAB в виртуальном потоке - Project Loom

Как в настоящее время TLAB обрабатывает виртуальный поток, представленный Project Loom в Java? Доступен ли TLAB в виртуальных потоках?
30 авг '22 в 09:55
0 ответов

Просыпается ли виртуальный поток в том же потоке носителя, в котором он был заблокирован?

Правильно ли я понимаю, что виртуальный поток работает в одном и том же потоке-носителе на протяжении всей своей жизни? Если нет, то мне интересно, нужно ли нам иметь переменные экземпляра какчтобы иметь правильное значение после того, как виртуальн…
29 янв '23 в 02:07