Lua协程的应用

Posted Phil的博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua协程的应用相关的知识,希望对你有一定的参考价值。

前言

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

生产者-消费者

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

则,有两种模式:

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

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

以上是关于Lua协程的应用的主要内容,如果未能解决你的问题,请参考以下文章

Lua-Async 协程的高级用法

lua:写了个基于协程的task调度库

什么是协程?

Python协程

Nginx与LUA

day10-3-协程(gevent)解决socket并发