Unity中的异步编程【3】——using管理多个异步资源

一、C#中using的三种服用方式:

  • 【1】引用命名空间,你可以理解为包的导入
using 魔教武功;

任我行.吸星大法();
  • 【2】创建命名空间别名
    比如金庸小说笑傲江湖中,人们称【神龙教】为【魔教】
using 魔教 = 神龙教;
  • 【3】强制资源清理
    比如打开文件,关闭文件
    连接数据库,关闭数据库

本文所讲的using用法为第三种,要理解【资源管理】请大家参考.Net的托管和非托管相关概念。

二、using如何对多个异步资源进行管理

 using (var EventHandler1 = toggle1.GetAsyncValueChangedEventHandler())
 using (var EventHandler2 = toggle2.GetAsyncValueChangedEventHandler())
 using (var EventHandler3 = toggle3.GetAsyncValueChangedEventHandler())
 {
     await UniTask.WhenAny(EventHandler1.OnValueChangedAsync(), EventHandler2.OnValueChangedAsync(), EventHandler3.OnValueChangedAsync());
 }
using (var EventHandler1 = toggle1.GetAsyncValueChangedEventHandler())
{
    using (var EventHandler2 = toggle2.GetAsyncValueChangedEventHandler())
    {
        using (var EventHandler3 = toggle3.GetAsyncValueChangedEventHandler())
        {
            await UniTask.WhenAny(EventHandler1.OnValueChangedAsync(), EventHandler2.OnValueChangedAsync(), EventHandler3.OnValueChangedAsync());
        }
    }
}

你可能感兴趣的:(unity,游戏引擎)