码迷,mamicode.com
首页 > 其他好文 > 详细

协同程序

时间:2015-01-22 19:54:41      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

 


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

 

协同程序

标签:

原文地址:http://www.cnblogs.com/vagaband/p/4242442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!