做网站 图片侵权,搜索关键词推荐,网站建设项目招标文件,做响应网站参考链接: 系列链接: Lua语法(一) 系列链接: Lua语法(二)——闭包/日期和时间 系列链接: Lua语法(三)——元表与元方法 系列链接: Lua语法(四)——协程 系列链接: Lua语法(五)——垃圾回收 系列链接: Lua语法(六)——面相对象编程 Lua语法 四——协程 简介正文协程coroutine.c… 参考链接: 系列链接: Lua语法(一) 系列链接: Lua语法(二)——闭包/日期和时间 系列链接: Lua语法(三)——元表与元方法 系列链接: Lua语法(四)——协程 系列链接: Lua语法(五)——垃圾回收 系列链接: Lua语法(六)——面相对象编程 Lua语法 四——协程 简介正文协程coroutine.create协程创建coroutine.resume协程运行coroutine.yield协程暂停协程内外数据传递协程案例—生产者消费者 简介 协程(coroutine)是Lua语言中的一个核心特性,它是一种轻量级的线程,可以在特定的时刻挂起和恢复执行,使得程序的控制流程可以更加灵活地切换和管理。 Lua的协程通过coroutine库来实现,通过使用协程,可以将一个复杂的任务分割成多个阶段,并可以在各个阶段之间暂停和恢复执行。协程的概念类似于线程,但是与线程相比,协程更加轻量级,没有操作系统线程的开销和限制。 使用协程可以很方便地实现一些需要多个步骤、需要等待的任务,例如网络通信、游戏中的动作处理等。协程可以在每个步骤结束后暂停执行,等待下一个步骤的触发或条件满足后再恢复执行。
正文
协程
协同程序。类似同步的线程,也就是有顺序的线程
协程可以手动的运行或挂起。
协程有四种状态
挂起(suspended)运行(running)正常(normal)死亡(dead)协程创建后的状态是挂起态
coroutine.create协程创建
local co = coroutine.create(function (a,b)print(a+b)
end)print(type(co))
print(coroutine.status(co))
--输出
thread
suspendedcoroutine.resume协程运行
local co = coroutine.