我正在閱讀這lua thread tutorial和我的lua代碼可能被其他線程在任何時候訪問,我所要做的就是保護luaState免受腐敗。如何在luajit中實現lua_lock/lua_unlock?
我剛剛搜查luajit的來源,但發現沒有lua_lock/lua_unlock到位。那麼是否可以將這種鎖定/解鎖添加到luajit?如果是,如何?
順便說一句,我在Windows
我正在閱讀這lua thread tutorial和我的lua代碼可能被其他線程在任何時候訪問,我所要做的就是保護luaState免受腐敗。如何在luajit中實現lua_lock/lua_unlock?
我剛剛搜查luajit的來源,但發現沒有lua_lock/lua_unlock到位。那麼是否可以將這種鎖定/解鎖添加到luajit?如果是,如何?
順便說一句,我在Windows
正如該教程中明確指出使用Visual C++,有是沒有 「lua_lock/lua_unlock」 功能,無論是在普通的Lua或LuaJIT發行。 你應該寫他們。本教程提供了Windows示例,但如果您不使用Windows線程,則必須自己編寫它們。
LuaJIT不支持lua_lock/unlock
。您將不得不手動控制自己對lua_State
的訪問。
是的,我知道教程有明確的聲明,但根據該教程(我正在使用lua 5.1進行測試)進行修改後,我的應用程序崩潰了。 –
調用堆棧:> \t NTDLL.DLL 77bd224d()\t未知 \t [下面的幀可能是不正確的和/或缺失,加載NTDLL.DLL無符號] \t \t NTDLL.DLL 77bd215c()\t未知 \t! test.exe的!_LuaLock()\tç \t test.exe的!_lua_atpanic()\tç \t test.exe的!_luaL_newstate()\tç KERNEL32.DLL \t!7753ed6c()\t未知 \t ntdll.dll中!77c0377b( )\t未知 \t ntdll.dll!77c0374e()\t未知 –