获取用于在 Lua 中创建 coroutine/thread 的函数
Getting function used to create coroutine/thread in Lua
是否可以获取用于创建协程的原始函数?
thread = coroutine.create(function()
-- Code
end)
f = get_function_from_thread(thread)
你不能开箱即用,但你可以随时重新定义 coroutine.create
:
local create=coroutine.create
local created={}
function coroutine.create(f)
local t=create(f)
created[t]=f
return t
end
function get_function_from_thread(t)
return created[t]
end
如果您创建了很多协同程序,请考虑将 created
设置为弱 table。
是否可以获取用于创建协程的原始函数?
thread = coroutine.create(function()
-- Code
end)
f = get_function_from_thread(thread)
你不能开箱即用,但你可以随时重新定义 coroutine.create
:
local create=coroutine.create
local created={}
function coroutine.create(f)
local t=create(f)
created[t]=f
return t
end
function get_function_from_thread(t)
return created[t]
end
如果您创建了很多协同程序,请考虑将 created
设置为弱 table。