Hello!
2013/3/14 wd:
> 我在一个 c 程序里面,想使用两个 lua_State,L1 存储一些 readonly 的数据,这些数据在启动的时候就读取进来,L2 在局部使用。
>
> 那么如何能让使用 L2 的 lua 程序里面读到 L1 里面的数据呢?我不明白这个栈需要怎么弄,不知道你知道不。。。
L1 和 L2 这两个 state 做成共享一个全局 lua_State 的;比如全局 lua_State 是 L,然后 L1 和 L2
分别通过 lua_newthread 创建(或者 L 可以直接是 L1 或者 L2 中的一个)。然后可以通过 lua_xmove 在不同的
state 之间迁移 Lua 数据:
http://www.lua.org/manual/5.1/manual.html#lua_xmove
ngx_lua 模块就使用了这种方法。
祝冬哥好运!
同时抄送给 openresty 中文邮件列表:https://groups.google.com/group/openresty
Best regards,
-agentzh