zoukankan      html  css  js  c++  java
  • Async与 Await 无觉

    static void Main(string[] args)
             {
                 // 同步方式
                 Console.WriteLine("同步方式测试开始!");
                 SyncMethod(0);
                 Console.WriteLine("同步方式结束!");
                 Console.ReadKey();
             }
     
             // 同步操作
             private static void SyncMethod(int input)
             {
                 Console.WriteLine("进入同步操作!");
                 var result = SyancWork(input);
                 Console.WriteLine("最终结果{0}", result);
                 Console.WriteLine("退出同步操作!");
             }
     
             // 模拟耗时操作(同步方法)
             private static int SyancWork(int val)
             {
                 for (int i = 0; i < 5; ++i)
                 {
                     Console.WriteLine("耗时操作{0}", i);
                     Thread.Sleep(100);
                     val++;
                 }
                 return val;
             }
    static void Main(string[] args)
            {
                // 异步方式
                Console.WriteLine("\n异步方式测试开始!");
                AsyncMethod(0);
                Console.WriteLine("异步方式结束!");
                Console.ReadKey(); 
            }  
    
            // 异步操作
            private static async void AsyncMethod(int input)
            {
                Console.WriteLine("进入异步操作!");
                var result = await AsyncWork(input);
                Console.WriteLine("最终结果{0}", result);
                Console.WriteLine("退出异步操作!");
            }
    
            // 模拟耗时操作(异步方法)
            private static async Task<int> AsyncWork(int val)
            {
                for (int i = 0; i < 5; ++i)
                {
                    Console.WriteLine("耗时操作{0}", i);
                    await Task.Delay(100);
                    val++;
                }
                return val;
            }
    // 异步操作
             private static async void AsyncMethod(int input)
             {
                 Console.WriteLine("进入异步操作!");
                 var result = await Task.Factory.StartNew((Func<object, int>)SyncWork2, input);
                 Console.WriteLine("最终结果{0}", result);
                 Console.WriteLine("退出异步操作!");
             }
     
             // 模拟耗时操作(同步方法)
             private static int SyncWork2(object input)
             {
                 int val = (int)input;
                 for (int i = 0; i < 5; ++i)
                 {
                     Console.WriteLine("耗时操作{0}", i);
                     Thread.Sleep(100);
                     val++;
                 }
                 return val;
             }
  • 相关阅读:
    数据结构(线性结构-栈)
    数据结构(线性结构-队列)
    数据结构(树状结构-二叉树)
    数据结构(树状结构-树)
    数据结构(线性结构-串)
    数据结构(堆)
    数据结构(图)
    查找(静态查找表)
    查找(动态查找表)
    查找(哈希表)
  • 原文地址:https://www.cnblogs.com/LiMin/p/3046365.html
Copyright © 2011-2022 走看看