Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
多物体执行程序顺序
钢铁大侠发起了问答2018-01-03
2
回复
319
浏览

运行程序时,有多个物体同时运作,里面都有代码要获得其他物体并得到这些物体的参数,但这些物体会被销毁。

执行时在一些情况下会出现空指针异常的情况,加入判定避免,但在极限的情况下还是会报空异常。

例       public void sdtat()
    {
        if (enemyX != null)
        {
            overUI();
            retreatover();
        }
    }

想问下C#多线程执行是否是把一个方法里的代码执行完后,就会跳到其他线程执行,这样来回跳动达到同时运行呢?

因为有物体销毁这个代码,但加入判定还是会出错,请问老师有什么方法能避免吗?

能够先完成指定必须执行的一段代码才会跳到其他代码段中。

所有回复
  • siki 2018-01-04

    C#多线程 执行中线程的调度是由CPU完成的,CPU控制,不会非得等你代码执行完后,多个线程的执行是有CPU调度的,你可以认为是同时执行的

    别使用多线程,使用协程,unity里面的协程是一段代码执行完再去执行另一个协程里面的代码的

    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!