Многие современные языки поддерживают работу с сопрограммами на уровне языка.
Java в настоящее время не поддерживает сопрограммы, но есть надежда, что в будущем это может измениться.
В C++20 планируется ввести поддержку работы с сопрограммами.
Используя JNI, мы можем писать сопрограммы на C++ и использовать их в коде Java. Давайте посмотрим, какие нативные сопрограммы можно написать и как их использовать в Java-коде.
Генератор позволяет создавать последовательность значений определенного типа, при этом значения генерируются лениво и синхронно.
/* C++ code */ generator<int> generate(int count) { for (int i = 0; i < count; i++) { co_yield i; } }
/* Java code */
Generator<Integer> gen1 = Coroutine.yield(5);
Generator<Float> gen2 = Coroutine.yield(1f, 5);
Generator<Double> gen3 = Coroutine.yield(v -> v * 2, 1d, 5);
Теги: #C++ #java #Kotlin #c++20 #coroutines
Вместе с данным постом часто просматривают:
-
Магия Массовых Фотоманипуляций
19 Oct, 24 -
Adobe Запускает Революционный Проект
19 Oct, 24 -
Как Мы Управляем Качеством Данных
19 Oct, 24 -
Кинект 3.0
19 Oct, 24 -
Самые Популярные Видео 2006 Года
19 Oct, 24