Menu
CoddyTech

什么是协程?

本课属于 Coddy Lua 学习旅程的“逻辑与流程”单元。第 48 课,共 54 课。

想想玩电子游戏的情景。你可以随时暂停游戏,去做别的事,然后回来后从刚才中断的地方继续。Lua 中的协程也是以类似的方式工作的。

协程就像一种特殊的函数,可以在执行过程中暂停,然后稍后从暂停的确切位置继续执行。普通函数会从头到尾运行,中途不会停止,而协程可以让你控制何时暂停和恢复。

这种能力可以实现所谓的协作式多任务处理。协程不会让多个任务在完全相同的时刻运行,而是让你主动在不同任务之间切换。

一个协程运行一会儿,然后暂停自己,由另一个协程接手,如此循环。每个协程都会配合,自行决定何时交还控制权。

当你需要拆分耗时较长的操作、管理回合制系统,或创建需要在多次调用之间记住自身状态的序列时,协程会很有用。在接下来的课中,你将学习如何在 Lua 中创建、暂停和恢复协程。

亲手试试

这节课没有代码挑战。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Lua 在线编译器