zoukankan      html  css  js  c++  java
  • c#异步编程async await

    可以代替协程了

    但是需要.net4 版本

    unity2017以上版本可以用了

    再也可以不用蛋疼的没有返回值的协程了

        //异步编程,和Task一起用
        async void TestAsync(){
            //等待2秒
            await Task.Delay(2000);
            int a = 0;
            while (a < 20)
            {
                //空等待
                await Task.Yield();//相当于 yield return null
                a++;
                print(a);
            }
    
            print("haha");
        }

     新例子

        void Start()
        {
            //读取excel
            //GameReadExcel("/Test/Excel/testExcel.xlsx");
    
            //测试异步编程
            TestAsync();//建立异步任务
            tcs.SetResult(true);//控制任务完成,不然的话await会一直等待,这句就是设置了Task的返回值,设置了就代表任务完成了,也拿到值了
        }
    
        async void TestAsync()
        {
            await MyTestTask();
            Debug.Log("xxxx");
        }
    
        private TaskCompletionSource<bool> tcs;
        Task<bool> MyTestTask()
        {
            tcs = new TaskCompletionSource<bool>();
            Debug.Log("测试task方法");
            return tcs.Task;
        }

     更多参考:https://blogs.msdn.microsoft.com/appconsult/2017/08/29/unity-coroutine-tap-zh-cn/

  • 相关阅读:
    pytorch和tensorflow
    创建用户
    linux 软件安装
    python 常见错误集锦
    Anaconda常规用法
    两个电脑之间文件快穿-基于用一个局域网和python的使用
    python-pip使用整理
    时间序列 -prophet
    SQL习题集锦
    取色器RGB转换htlm
  • 原文地址:https://www.cnblogs.com/sanyejun/p/9931555.html
Copyright © 2011-2022 走看看