vagaband

协同程序

 


--[[
协同程序的四种状态
挂起(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)

 

分类:

技术点:

相关文章:

  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
猜你喜欢
  • 2021-12-15
  • 2021-12-25
  • 2021-12-25
  • 2021-12-25
  • 2021-10-01
  • 2021-12-25
相关资源
相似解决方案