Unity 协程简单理解

协程

为什么不适用多线程:
游戏中,逻辑更新以及画面更新的特点,游戏中的所有东西都必须严格按照帧序列来进行以保持同步,虽然多线程同样可以通过某种手段来实现同步,但由于游戏中对象过多,若使用多线程来实现,则会导致难以维护以及修改bug。因此在Unity中,有且仅有单线程逻辑,统一了生命周期管理。

什么是协程:
在游戏开发中总会碰到一些非常耗时的操作,需要较长的时间才能够执行完毕然后执行其他代码内容,如,在某段代码中,也许需要等待10秒后再继续往下执行下面的代码,若直接在当前线程中停止10秒(即当前代码需要消耗10s的时间去完成),便会导致整个线程阻塞10秒,导致画面停止等问题。因此,我们需要在某些非常耗时的操作时(称作操作A),让出当前线程,执行其他代码(操作B),在一定的时间后返回操作A,从上次停止的位置继续往下执行。
简单来讲,协程只是能够让你在单线程中也能实现等待(不阻塞整个线程的情况下)。

什么时候使用协程:
举个例子,比如动作游戏中常使用的“顿帧”手法,即攻击到敌人时,停止帧序列,也可以理解为暂停(Time.timeScale = 0),而我们需要等待一定时间后&#

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值