Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 06.08.2022 в Сообщения

  1. 1 балл
    Наверное уже все участники этого форума знают, что в opencomputers невозможено написать операционную систему с настоящей параллелизацией - достаточччно написать и запустить программу local x = 0 while true do x = x + 1 end и вся система зависнет, а затем компьютер перезагрузится с ошибкой "too long without yielding". Однако, блуждая по просторам основного форума opencomputers, я наткнулся на операционную системуCynosure, которая делает невозможное возможным.В ней приведенная выше программа не приведёт к экстренной перезагрузке, а будет работать, пока её не прервут. Её даже можно запустить в отдельном потоке и параллельно с ней запускать другие программы. Достигается это при помощи вот этого кода, перед запуском любой програмы или вызовом функции load обрабатывающего запускаемый код посредством добавки coroutine yield между всякими двумя действиями. Страницу операционной системы можно найти вот тут, а её ядро тут. Успешного ознакомления!
  2. 1 балл
    которую я не тестил, потому что пишет мол шел, а потом пишет too long without yielding(не blue скрин) к слову, как мне кажется в реальных задачах обычных потоков достаточно, это будет намного эффективнее не смотря на подлагивания при больших циклах, но в целом некто не мешает делать прерывания в циклах о сейчас удалось попасть в shell, скорее всего это связано с пере заходом в игру, шас потестю решил сменить моник на третий, и оно опять не хочет заходить в shell....
  3. 1 балл
    идея отличная. наконец-то что-то новенькое в open computers подъехало, да еще и unix-like круто, мне нравиться но... какой пароль от root? я хочу потыкать ос подобрал, пароль от root: root после входа в root ос приветствует, а потом too long without yielding....
  4. 1 балл
    loadfile и dofile отличаются тем, что первая загружает код из указанного файла и (с помощью вшитой в Lua-машину функции load) возвращает его в виде функции, которую мы можем выполнить, когда захотим. А вторая через loadfile загружает файл и сразу же его выполняет, возвращая пользователю результат функции. Обе функции реализованы программно https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/openos/boot/00_base.lua#L1-L30 Про require уже было сказано тут. Она ищет библиотеку либо в своей кеш-таблице (если ее уже загружали), либо ищет по стандартным путям и если находит, через loadfile загружает ее, сохраняет в кеш-таблицу и отдает пользователю.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...