lua 如何查询coroutine 当前是哪个线程

lua 如何查询coroutine 当前是哪个线程,第1张

协同程序(Coroutine):

三个状态: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的,自己搜索吧


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7809628.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存