首页 > 代码库 > 协同程序

协同程序

 


--[[
协同程序的四种状态
挂起(suspended)、运行(running)、死亡(dead)和正常(normal)

status
yield --挂起程序

coroutine.create(function(a, b, c) --coroutine.resume(co, 1, 2, 3) 分别把1,2,3传递给a,b,c
  print("co", a, b, c)
end)
coroutine.create(function()
  return 6, 7 --coroutine.resume(co)并返回第3个值,第一个为执行是否成功,后面是6,7
end)

coroutine.create(function(a, b)
  coroutine.yield(a+1, b+1) --coroutine.resume(co, 3,4)挂起协同同学,并返回第3个值,第一个为执行是否成功,后面是a+1, b+1
end)
--]]

 


co = coroutine.create(function()
  for i = 1, 10 do
    print("co", i)
    coroutine.yield()
  end
end)

print(co)

print(coroutine.status(co))

coroutine.resume(co)

 

协同程序