lua 如何查询coroutine 当前是哪个线程

2025-05-19 06:56:36
推荐回答(1个)
回答1:

协同程序(Coroutine):
  三个状态:suspended(挂起,协同刚创建完成时或者yield之后)、running(运行)、dead(函数走完后的状态,这时候不能再重新resume)。
  coroutine.create(arg):根据一个函数创建一个协同程序,参数为一个函数
  coroutine.resume(co):使协同从挂起变为运行(1)激活coroutine,也就是让协程函数开始运行;(2)唤醒yield,使挂起的协同接着上次的地方继续运行。该函数可以传入参数
  coroutine.status(co):查看协同状态
  coroutine.yield():使正在运行的协同挂起,可以传入参数
  resume函数的两种用途虽然都是使协同挂起,但还是有些许差异的,看下面这个例子: