resume和yield的配合强大之处在于,resume处于主程中,它将外部状态(数据)传入到协同程序内部;而yield则将内部的状态(数据)返回到主程中。

coroutine.status():查看协程的状态

--查看协程的运行状态
local ConTine = coroutine.create(
function (i,j)
print(i+j)
--启动状态
--print(coroutine.status(ConTine))
--coroutine.yield()
return i+j
end
)
--暂停状态
print(coroutine.status(ConTine))
res,res2 = coroutine.resume(ConTine,3,3)
--返回一个协程
print(coroutine.running())

print(res,res2)
--结束运行状态
print(coroutine.status(ConTine))
--释放资源内存
res,res2 = nil

Lua - 协同程序中查看协程的状态(三)_释放资源