zoukankan      html  css  js  c++  java
  • Task 的一些个人见解

    Task确实比较好用且优雅 我感觉.NET要成为艺术家...

    public class TheTask {
            /// <summary>
            /// 直接调用是同步方法
            /// </summary>
            /// <returns></returns>
            public Task Tasktest()
            {
                Task ta = Task.Run(() => { Loading(); });
                Console.WriteLine("Task函数完成");
    
                return ta;
    
            }
            /// <summary>
            /// 直接调用时异步方法
            /// </summary>
            /// <returns></returns>
            public async Task Taskasync() {
                await Task.Run(() => { Loading(); });
                Console.WriteLine("Task函数完成");
            }
    
            private void Loading() {
                Thread.Sleep(1000);
                Console.WriteLine("耗时操作完成");
            }
    
        }
       static void Main(string[] args) {
                //Task 测试
                //结论 await表示同步
                //不加await表示异步 
                //Over 加了wait表示主动同步
                TheTask ta = new TheTask();
                ta.Taskasync().Wait();
                Console.WriteLine("主函数完成");
                 Console.Read();
    }

     效果

    另一种

      static void Main(string[] args) {
              
                TheTask ta = new TheTask();
                //ta.Taskasync().Wait();
    
                //主动异步
                LoadTest();  
                Console.WriteLine("主函数完成");
                Console.Read();
    
    
    
            }
      static async void LoadTest() {
                TheTask ta = new TheTask();
                await ta.Tasktest();
               
            }

    结果:

     如果用Task 还是异步,由主函数决定是否异步好用

    也就是

    ta.Taskasync().Wait();

    加wait表示同步 不加表示异步
    就是那个绿色的下划线让我感觉难受


    另一种是直接调用表示同步 要重写一个方法才能异步
  • 相关阅读:
    node.js ---path模块
    es6箭头函数this问题
    Codeforces Round #576 (Div. 2) | CF1199 补题
    Hungary
    CF 1196D2 RGB Substring (hard version) --- 前缀和 + 思维
    康托展开
    POJ1821 Fence --- 单调队列 + DP
    素数筛
    自动化接口面试遇到的问题
    linux遇到的面试问题
  • 原文地址:https://www.cnblogs.com/AnAng/p/8821247.html
Copyright © 2011-2022 走看看