Насколько я знаю, кристалл циклически расставляет волокна с io, что означает, что если одно волокно ожидает ввода io, кристалл переключится на другое волокно.
Что если мы создаем два волокна, но одно из них выполняет постоянные вычисления / цикл без ввода-вывода?
Например, с помощью приведенного ниже кода сервер не отвечает ни на какие запросы http
spawn do
Kemal.run
end
spawn do
# constant computation/loop with no IO
some_func
end
Fiber.yield
# or sleep