协程、多线程是什么
- 协程属于主线程,并不是单独的线程,如果协程卡死,那么主线程也会卡死
- 多线程是并发效果,每个线程不会受另一个线程影响
协程原理
- 协议是由IEnumerator迭代器实现的一种状态机,每一次yield return都会将协程分成对应的代码块。
- 迭代器中有MoveNext方法、Current属性。MoveNext方法返回值是bool类型,如果返回值为true代表迭代器还没有执行完;Current属性会将对应的代码块转换为IEnumerator对象,然后返回给协程
- 协程中有yield break用于终止协程,ReSet方法用于重置协程
- yield return是语法糖哦
- 扩展:每一次yield return都会创建对应的IEnumerator对象,可以使用协程池进行优化