Pass Lua states to other threads in arbitrary multi-threading scenarios
$ luarocks install mtstates
This package provides a way to create new Lua states from within Lua for using them in arbitrary threads. The implementation is independent from the underlying threading library (e.g. Lanes or lua-llthreads2).
The general principle is to prepare a state by running a setup function within this state that returns a callback function which afterwards can be called from different threads. This can be useful in a thread-pool scenario when the number of states exceeds the number of available threads.