@uczoja62 это дерьмовый пример. многопоточность в луа - довольно каверзная вещь. в луа вообще нет никакой встроенной потокобезопасности, поэтому модулям, добавляющим многопоточность, приходится использовать нестандартные методы. в частности, библиотека lanes создаёт отдельный lua state для каждого потока, загружая стандартные библиотеки и расшаривая с ним некоторые функции по возможности (если не ошибаюсь, функции с upvalues использовать из таких потоков невозможно), и т.к. lanes загружает стандартные библиотеки, функция print в новом потоке перезаписывается стандартной. но даже если этого не было бы, print мунлоадера всё равно нельзя было использовать, т.к. она не потокобезопасна.
в общем, такие потоки нужно хорошо изолировать от основного скрипта, чтобы не было проблем, а обмен данными осуществлять посредством сообщений или другим способом, доступным в библиотеке.
я с lanes почти не работал и не разбирался, как и с другими модулями, реализующими многопоточность, но в
llthreads2 обмен данными между потоками осуществляется посредством сообщений и сама библиотека выглядит намного проще, попробуй её.