码迷,mamicode.com
首页 > 其他好文 > 详细

协同程序和中断

时间:2018-01-28 19:10:16      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:开启   16px   运行   多线程   tin   class   关键字   中断   deb   

协同程序

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

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

  再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");

     }
    
}                 

 

协同程序和中断

标签:开启   16px   运行   多线程   tin   class   关键字   中断   deb   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!