245 читали · 6 лет назад
Многопоточность в Lua - моя главная ошибка
Я разрабатывал бота ВК, который должен был отвечать огромной куче пользователей, но в линейном приложении это невозможно, ведь программа не возьмётся за новое сообщение, пока не закончит старое. В качестве решения проблемы я реализовал многопоточность на уровне ядра и немного модифицировал Lua в плане блокировки потоков в критических местах. Первое время это работало хорошо, но с каждой единицей времени мне приходили всё более устрашающие ошибки. Программа могла вылететь в самых неприятных моментах...