SoNyG 0 Опубликовано: 30 ноября, 2018 При запуске цикл работает нормально 8 секунд потом сбрасывается с ошибкой: test:3 Too long without yielding . Необходимо сделать данный цикл бесконечным. Надеюсь на вашу помощь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 561 Опубликовано: 30 ноября, 2018 Программы на OpenComputers должны иногда переключаться на всякие свои внутренние задачи. Но пока твоя программа единовластно занимает поток выполнения - это невозможно. Отсюда ошибка "Too long without yielding" - то есть "Слишком долго без передачи управления". Чтобы позволить системе компьютера заниматься своими делами, необходимо добавить либо event.pull, либо os.sleep. Причем достаточно слипа на 0 секунд: os.sleep(0); Добавь это в любое место цикла - и проблема решится. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 30 ноября, 2018 29 минут назад, Totoro сказал: Программы на OpenComputers должны иногда переключаться на всякие свои внутренние задачи. Но пока твоя программа единовластно занимает поток выполнения - это невозможно. Отсюда ошибка "Too long without yielding" - то есть "Слишком долго без передачи управления". Чтобы позволить системе компьютера заниматься своими делами, необходимо добавить либо event.pull, либо os.sleep. Причем достаточно слипа на 0 секунд: os.sleep(0); Добавь это в любое место цикла - и проблема решится. Это ComputerCraft Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 561 Опубликовано: 30 ноября, 2018 В случае ComputerCraft причины примерно те же. Можно тоже попробовать поиграть с os.sleep() с разной продолжительностью (ноль уже не поможет). Можно попробовать использовать хак типа такого: os.queueEvent("fakeEvent"); os.pullEvent(); Тоже внутри цикла. Про ComputerCraft я знаю меньше, руководствуюсь гуглом, так что тут надо экспериментировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
При запуске цикл работает нормально 8 секунд потом сбрасывается с ошибкой: test:3 Too long without yielding . Необходимо сделать данный цикл бесконечным.
Надеюсь на вашу помощь.
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах