首页 > 代码库 > 【Lua】协程的应用

【Lua】协程的应用

前言

  • 协程可以解决哪些编程问题?

生产者-消费者

生产者A做面条,消费者B吃面条。A做完面条,B吃面条,吃完了,A再做...

则,有两种模式:

  • 在消费者B吃面的function中插入resume唤醒生产者A,A生产完后放置一个yield(面条),返回面条并暂停,B接到返回值(面条)后开始吃。
  • 在生产者A生产的function中插入resume(面条)唤醒消费者B,B吃完后放置一个yield,暂停,A继续做面条。

可见,主循环放在B和A中都可以,一方为主,另一方为服务。

【Lua】协程的应用