我的應用程序使用的Lua在多線程環境全球互斥工作。它實現的是這樣的:Lua中操作,在mutitheaded環境
- 線程鎖定互斥,
- 呼叫
lua_newthread
- 上
coroutine
- 上
coroutine
- 運行
lua_resume
執行一些初始化解鎖互斥
lua_lock/unlock
未實現,當lua時GC停止與coroutine
一起工作。
我的問題是,如果初始化過程不需要任何全局Lua結構體,我可以不鎖定地執行步驟2和3嗎?如果coroutine
不需要全局變量,我可以執行所有這些過程嗎?
在什麼情況下,我通常可以使用Lua函數而不鎖定?
請透露你的關係。 –