恢复协程coroutine.resume(<Coroutine-Object>)

来源:11-3 协程的常见实现1

慕粉0734078047

2020-10-09

恢复协程coroutine.resume() 在这个协程外面(其他协程里面)调用resume,把刚才创建(coroutine.create)的协程对象作为参数传递进去,还可以多传递几个参数(如果是第一次调用的话就是,否则作为yield的返回值)。

感觉视屏里面说的有歧义,假如是这样coroutine.resume(,param1,param2),这里的param1和param2是给producer()这里面的参数呢还是coroutine.yeild的参数还是coroutine.yeild的返回值

写回答

2回答

bennyhuo

2020-10-09

resume(co, param, ....)
co是一个协程。
如果 co 被第一次 resume,那么 param 就是 co 的函数参数(co本身是基于一个函数创建的)

如果不是第一次调用,param则作为 co 当中的yield的返回值返回。

0
0

bennyhuo

2020-10-09

你说的是lua的协程实现吧

0
0

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1693 学习 · 447 问题

查看课程