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();
}

 效果

Task 的一些个人见解

 

另一种

  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 的一些个人见解

 

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

也就是

ta.Taskasync().Wait();

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


另一种是直接调用表示同步 要重写一个方法才能异步

相关文章:

  • 2021-07-02
  • 2021-06-14
  • 2021-05-18
  • 2022-01-08
  • 2021-07-07
  • 2021-06-02
  • 2021-05-01
猜你喜欢
  • 2021-06-06
  • 2021-11-17
  • 2021-12-07
  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2022-02-13
相关资源
相似解决方案