luaintf的多线程一个隐藏bug,库中的变量没有加锁

来源:互联网 发布:ubuntu和windows共存 编辑:程序博客网 时间:2024/06/05 04:18

gl =getcurthread()
LuaIntf::LuaRef TimeTb(gl, "GTimeTB");
LuaIntf::LuaRef fun = TimeTb["Update"];
if (fun.isValid() && fun.isFunction()) {
fun.call();
}

Every Thread own self lua_newthread
When MutiThread Run Code, Lua error.


like:
LockHelp_LuaRef(); //加锁的东西 
m_key = luaL_ref(L, LUA_REGISTRYINDEX);
UnLockHelp_LuaRef();


0 0
原创粉丝点击