luaintf的多线程一个隐藏bug,库中的变量没有加锁
2015-10-08 14:53
555 查看
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();
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();
相关文章推荐
- Lua中打印Table的方法
- 15分钟lua 练习
- Lua学习之Mac下封装C模块
- lua中string.find()函数作用于汉字字符串
- VS2012编译luabind-0.9.1
- Lua5.3 与C交互学习
- lua类
- Lua学习之Lua的函数解析(待补充)
- coroutine in lua
- Lua学习之xcode下简单调用C语言函数(待补充)
- Lua入门基础
- LintCode "Expression Evaluation"
- lua快速入门[转]
- Lua: Good, bad, and ugly parts
- UVALive 6697 Homework Evaluation
- Java Evaluate Reverse Polish Notation(逆波兰式)
- 为什么要用Lua脚本呢?(一)
- 150. Evaluate Reverse Polish Notation (Stack)
- lua脚本的基本语法(二)
- ubuntu15.04编译lua源码