–协同程序同线程差不多,就是一条执行序列,

–拥有自己独立的栈、局部变量和指令指针,

–同时又其他的协同程序共享全局变量和其他大部分东西协同

–协同程序的四种状态:挂起(suspended)、运行(running)、死亡(dead)、正常(normal)
–coroutine.resume()启动或者再次启动协同程序

co=coroutine.create(function() print(“hello!”) end)

print(coroutine.status(co))   –suspended

coroutine.resume(co)           –hello!

print(coroutine.status(co))    –dead

print(“———————–“)

co=coroutine.create(function()

 for i=1,10 do

  print(“co”,i)

  coroutine.yield()

 end

end)

coroutine.resume(co)  –co 1

print(coroutine.status(co))  –suspended

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)

coroutine.resume(co)   –co 10

coroutine.resume(co)   –什么都不打印了

print(coroutine.status(co))  –这时候coroutine处于死亡状态