Есть ли какие-либо различия в фундаментальных концепциях среди современных моделей параллелизма? ⇐ JAVA
Есть ли какие-либо различия в фундаментальных концепциях среди современных моделей параллелизма?
Недавно я изучал различные современные модели параллелизма, такие как Virtual Thread (JDK 21), сопрограммы Kotlin, цикл событий в Spring Webflux (который может относиться к Netty) и связанные темы, такие как Java NIO или мультиплексирование с помощью ' эполл'. Однако, углубившись в них, я заметил, что они кажутся очень похожими со следующих точек зрения (пожалуйста, извините за путаницу в ключевых словах и терминологии, поскольку я все еще новичок):
[*]Все они преследуют одну и ту же цель — добиться высокого уровня параллелизма при ограниченном количестве потоков. [*]Такие элементы, как виртуальные потоки, задачи и события, используются для обработки кода, но потенциально могут быть заблокированы. [*]Если во время выполнения происходит блокировка, исполнитель (или поток) откладывает выполнение текущей задачи и переходит к другой задаче. [*]Заблокированная задача может возобновить выполнение после операции ввода-вывода.
Итак, вот мои вопросы:
[*]Есть ли в приведенном выше списке что-то неверное? Укажите на любые недоразумения, если они существуют. [*]Если все в списке верно, то единственная разница между этими моделями связана с тем, как они используются? (например, их API, концепции или ментальные модели)
Я понимаю, что эти вопросы могут показаться двусмысленными, простыми и глупыми, но я буду очень признателен за любую информацию, которую вы можете предоставить. Заранее спасибо.
Недавно я изучал различные современные модели параллелизма, такие как Virtual Thread (JDK 21), сопрограммы Kotlin, цикл событий в Spring Webflux (который может относиться к Netty) и связанные темы, такие как Java NIO или мультиплексирование с помощью ' эполл'. Однако, углубившись в них, я заметил, что они кажутся очень похожими со следующих точек зрения (пожалуйста, извините за путаницу в ключевых словах и терминологии, поскольку я все еще новичок):
[*]Все они преследуют одну и ту же цель — добиться высокого уровня параллелизма при ограниченном количестве потоков. [*]Такие элементы, как виртуальные потоки, задачи и события, используются для обработки кода, но потенциально могут быть заблокированы. [*]Если во время выполнения происходит блокировка, исполнитель (или поток) откладывает выполнение текущей задачи и переходит к другой задаче. [*]Заблокированная задача может возобновить выполнение после операции ввода-вывода.
Итак, вот мои вопросы:
[*]Есть ли в приведенном выше списке что-то неверное? Укажите на любые недоразумения, если они существуют. [*]Если все в списке верно, то единственная разница между этими моделями связана с тем, как они используются? (например, их API, концепции или ментальные модели)
Я понимаю, что эти вопросы могут показаться двусмысленными, простыми и глупыми, но я буду очень признателен за любую информацию, которую вы можете предоставить. Заранее спасибо.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Формальное+дидактическое+схематическое объяснение параллелизма и параллелизма.
Anonymous » » в форуме C++ - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Веб-скрапинг finviz для получения фундаментальных данных о рыночной капитализации
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Перегрузка оператора шаблона класса для фундаментальных и конкретных нефундаментальных типов
Anonymous » » в форуме C++ - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-