
三个状态:suspended(挂起,协同刚创建完成时或者yield之后)、running(运行)、dead(函数走完后的状态,这时候不能再重新resume)。
coroutine.create(arg):根据一个函数创建一个协同程序,参数为一个函数
coroutine.resume(co):使协同从挂起变为运行(1)激活coroutine,也就是让协程函数开始运行(2)唤醒yield,使挂起的协同接着上次的地方继续运行。该函数可以传入参数
coroutine.status(co):查看协同状态
coroutine.yield():使正在运行的协同挂起,可以传入参数
resume函数的两种用途虽然都是使协同挂起,但还是有些许差异的,看下面这个例子:
lua程序设计电子书 chm[炫彩版 2009-2-12更新]
http://bbs.luaer.cn/read-Lua-tid-172.html
翻译由www.luachina.net完成的,并且已经征得作者Mr. Roberto Ierusalimschy的同意,LZ注册一下下载,也是对人家的认可……
PS:也有PDF的,自己搜索吧
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)