Lua协程
协程
什么是协程
协程的特点
协程和线程的区别
协程的工作原理
Lua协程示例
function longRunningTask()
local value = 0
for i = 1, 3 do
value = value + 1
print("Running step", i, "with value", value)
coroutine.yield(value)
end
return value
end
local co = coroutine.create(longRunningTask)
local status, result = coroutine.resume(co)
local r = coroutine.status(co)
print("Received from yield:", status,result,r)
status, result = coroutine.resume(co)
r = coroutine.status(co)
print("Received from yield:", status,result,r)
status, result = coroutine.resume(co)
r = coroutine.status(co)
print("Received from yield:", status,result,r)
status, result = coroutine.resume(co)
r = coroutine.status(co)
print("Final result:", status,result,r)