Lua协程Coroutine是什么

Lua协程Coroutine是什么

协程和线程不同:

  • 同一时刻,一个多线程程序可以用多个线程同时执行;而协程只能有一个在执行
  • 多线程是抢占式的;而协程是非抢占式的,只有协程显示被挂起,才会被挂起

协程和线程的相同点:

  • 拥有独立的栈
  • 拥有独立的局部变量
  • 拥有独立的指针
  • 共享全局变量

API示例:

  • coroutine.create(func) 通过函数创建一个协程
    在这里插入图片描述
    返回的是一个协程类型

  • coroutine.resume(co, …) 唤醒协程co,后面的参数依次作为协程对应函数的参数
    在这里插入图片描述

  • coroutine.status(co) 返回协程co的状态
    在这里插入图片描述

  • coroutine.yield() 在协程内部执行,挂起当前协程
    在这里插入图片描述

  • coroutine.running() 获取当前处于running状态的协程
    在这里插入图片描述

  • coroutine.wrap() 创建一个协程,但是返回的是函数类型
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值