Unity C# 异步编程模式之等待直到完成模式(wait-until-done模式)

发布时间:2024年01月10日

Unity的协程使用的就是wait-until-done模式,下面放上完整代码:

using UnityEngine;
using System.Threading;
using System;

delegate int MyDel(int first, int second);//声明委托类型

public class AsyncWaitUntilDoneDemo : MonoBehaviour
{
    void Start()
    {
        MyDel del = new MyDel(Sum);

        Debug.Log("Before BeginInvoke");
        IAsyncResult iar = del.BeginInvoke(5, 7, null, null);//开始异步调用
        Debug.Log("After BeginInvoke");

        Debug.Log("Doing stuff");

        int result = del.EndInvoke(iar);//等待结束并获取结果
        Debug.Log("After EndInvoke: " + result);
    }   
    
    static int Sum(int x,int y)//声明异步方法
    {
        Debug.Log("Inside Sum");
        Thread.Sleep(3000);

        return x + y;
    }
}

这是输出结果:

文章来源:https://blog.csdn.net/cwhans/article/details/135505187
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。