co01=coroutine.create(function(a) return 2*a end)
a,b=coroutine.resume(co01,20)
print(a,b)
co02=coroutine.wrap(function(a) return 2*a end)
c=co02(20)
print(c)
print("==========分割线===========")
co = coroutine.wrap(function(a)
local c = coroutine.yield(a+1)
print("main func a: ",a)
return 2*a
end)
b = co(20)
print(b) -- 21
--从yield后面执行
d = co(b+1)
print(d) -- 40
print("==========分割线===========")
co = coroutine.create(function(a) local c = coroutine.yield(a+1) print("main func c: ",c) return 2*a end)
b,v = coroutine.resume(co,20)
print(b,v) -- true,21
b,v = coroutine.resume(co,20)
print(b,v) -- true,40
理解Lua的Coroutine
最新推荐文章于 2025-10-29 19:31:33 发布
本文通过几个实例详细介绍了Lua中协程的创建、挂起及恢复等基本操作,并展示了如何使用协程来实现简单的异步任务处理。
791

被折叠的 条评论
为什么被折叠?



