我正在尝试将 lua 实现到我现有的多线程应用程序中。我听说 lua 不是线程安全的我一直在为不同的线程创建不同的 lua_State(s)
。
通过 lua 头文件我找到了 lua_newthread
。您将如何将其实现到一个准备就绪的线程应用程序中。您是创建一个 lua_State
并创建单独的 lua_newthread(s)
还是会导致其他问题?
最佳答案
注意,Lua 线程不是操作系统线程(尽管名称具有误导性),只是 Lua 本身(而不是主机应用程序)中的设施以异步方式执行代码。
所以答案是:在您的应用程序中为每个线程创建一个 lua_State
,如果您需要在状态之间传递数据,则使用序列化库作为中间件。
关于c++ - lua_newstate 与 lua_newthread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574705/