Jactl: виртуальные потоки в Java 8 без Loom
Virtual Threads for a scripting language in Java 8 without Loom

Jactl, встраиваемый скриптовый язык для Java, реализует механизм, аналогичный виртуальным потокам, но работающий даже на Java 8. Когда скрипт выполняет блокирующую операцию, Jactl сохраняет состояние выполнения в цепочке объектов Continuation, используя исключения, и освобождает поток для обработки других событий. По завершении операции состояние восстанавливается, и выполнение продолжается. Такой подход позволяет использовать Jactl в реактивных приложениях на старых версиях Java. Кроме того, механизм позволяет сериализовать состояние скрипта для контрольных точек и обеспечения отказоустойчивости.
В Java 8, конечно, нет способа сохранить стек вызовов ни в Java, ни в байт-коде JVM, поэтому мне пришлось использовать другой механизм для достижения той же цели.