自己总结的一点关于携程的小知识

本文介绍了Unity中协程的使用,包括yield return的各种用法,如等待一帧、固定更新时间、等待结束帧等。同时强调了协程执行的条件,即组件对象不被销毁,游戏物体保持激活状态。还提到了通过StartCoroutine和StopCoroutine控制协程的开始和停止,并给出了在协程中模拟多线程的示例。
摘要由CSDN通过智能技术生成

这里写自定义目录标题


协同程序
进程:每一个可执行应用程序都是一个进程
线程:每一个进程中,至少有一个主线程,可以有多个辅线程
协同程序的概念:在unity中,协同程序是为了模拟多线程的工具,注意:协程是单线程,并不是多线程
开启一个协程: StartCoroutine(“Speak”);
修饰一个协程方法的关键字:IEnumerator
当开启一个协程的时候,主线程会进入到协程函数中和普通方法一样执行,直到遇到yield return 程序暂时挂起,跳出协程,继续向下执行;
直到yield return 的条件满足,才会执行yield之后的代码,从yield开始,协程外部的代码就和协程内部的无关

yield return null/0:等待一帧的时间。
yield return new WaitForSeconds()
yield return FixedUpdate()
yield return new WaitForEndOfFrame()
yield break;
yield return Function()
yield return new WWW(url);

协程执行完整的条件是保证开启协程的组件对象不能被销毁,并且游戏物体不能失活
如果保证不了,就把协程开启在其他对象身上,
1:如果使用方法名的字符串形式开启协程,方法必须在要开启的对象身上
2:如果使用方法名加括号的形式开启,这个方法必须在自己身上

StartCoroutine(方法名); //由此开启一个协程,程序由此进入到Speak方法里去执行;
IEnumerator 方法名(){ //IEnumerator 是迭代器对象
yield return new WaitForSeconds(时间); //等几秒的意思
注意: 当开启一个协程的时候,主线程(main 函数里的)会进入到协程函数中和普通方法一样执行;
直到遇到 yield return ,代表程序返回(暂时挂起),跳出协程,继续向下执行;
直到yield return 的条件满足,才会执行yield 之后的代码;
}
注: 当需要在协程中 锁死循环时(这就是 让协程模拟多线程的原因),可以用
yield return 跳出。<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值