首页 > 其他 > 详细

协同程序和中断

时间:2018-01-28 18:46:48      阅读:197      评论:0      收藏:0      [点我收藏+]

协同程序

  即在主程序运行时同时开启另一端逻辑处理,来协同当前程序的执行。

  但是它与多线程程序不同,所有的协同程序都是在主线程中执行的,他还是一个单线程程序。

  再Unity中可以通过 StartCoroutine 方法来启动一个协同程序。

 

StartCoroutine 方法为 MonoBehaviour 类中的一个方法,也就是说该方法必须在 MonoBehaviour 或继承与 MonoBehaviour 的类中调用。

StartCoroutine 方法也可以使用返回值作为 IEnumerator 类型方法的参数。具体操作时可以使用如下的C#代码片段来实现。

using UnityEngine;
//引入系统包
using System.Collections;
//声明类
public class NewBehaviourScript
{
    //重写 Start 方法
    void Start()
    {
        //开启协同程序
        StartCoroutine(doThing());
  }

     //声明 doThing 方法
     IEnumerator doThing()
     {
        //打印提示信息
        Debug.Log("dothing");
        yield return null; 
     }
    
}
    

 

  协同程序中可以使用 yield 关键字来中断协同程序,也可以使用 WaitForSeconds 类的实例化对象让协同程序休眠。

  具体操作时可以使用如下代码片段来实现

using UnityEngine;
//引入系统包
using System.Collections;
//声明类
public class NewBehaviourScript
{
    //重写 Start 方法
    void Start()
    {
        //开启协同程序
        StartCoroutine(doThing());
  }

     //声明 doThing 方法
     IEnumerator doThing()
     {
        //协同程序休眠两s
        yield return new WaitForSeconds(2);
        //打印提示信息
        Debug.Log("dothing");

     }
    
}                 

 

协同程序和中断

原文:https://www.cnblogs.com/ilikezxy/p/8371761.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!