local lanes = require "lanes".configure()
local linda = lanes.linda()
local thread = lanes.gen({globals = _G}, function()
print("Starting thread...")
while true do
local command = linda:receive("cmd")
if command=="quit" then
break
else
broadcast(-1,"Hello from lanes.")
end
end
end)
local threads = {}
local NCORES = 2
for i=1,NCORES do threads[i] = thread() end
linda:send("cmd", "test")
for i=1,NCORES do linda:send("cmd", "quit") end
for i=1,NCORES do threads[i]:join() end
作为在我的游戏服务器上让 Lua Lanes 正常运行的测试,我正在尝试在新线程中使用来自主状态的全局函数。不幸的是,这个特定的代码不断导致Assert Failure in tools.c line 1216
. 我正在尝试进行设置,这样我就可以在不锁定主线程以及最终锁定我的游戏服务器的情况下完成繁忙的工作。有没有更好的方法来做到这一点?或者也许我可以luaL_newthread(state)
在我的服务器中运行我的脚本?请告诉我正确的方向,因为这目前正在停止我的发展。提前致谢。