协程(coroutine)的概念由来已久,协程的定义如下:协程是一个在多入口点允许在某些位置挂起和恢复执行的,可以产生非抢占式任务的子程序的计算机程序组件。 协程与子程序的区别在于,主程序与子程序的关系是非对称的,是调用与被调用的关系,而协程则是完全对称的,它们可以相互调用。
Liteco提供协程类liteco_coroutine_t
,通过它可向您的系统提供协程能力。 本项目实现了实现协程模型的三个元素:协程、运行时、等待通道。
- 协程(
liteco_coroutine_t
):具体可执行的可执行体 - 运行时(
liteco_runtime_t
):协程具体执行时依附的运行时平台 - 等待通道(
liteco_channel_t
):该模块用于存储当前挂起的协程所在的运行时