• C# async await 异步例子


     public const string  Linefeed= " ";
            private void BtnasyncAwait_Click(object sender, RoutedEventArgs e)
            {
                SetTextShow("111 balabala. My Thread ID is :" + Thread.CurrentThread.ManagedThreadId);
                 AsyncMethod();
                SetTextShow("222 balabala. My Thread ID is :" + Thread.CurrentThread.ManagedThreadId);

            }
     
            private void SetTextShow(string textContent)
            {
                txtInfo.Dispatcher.Invoke(new Action(()=> { txtInfo.Text += DateTime.Now.ToString() + " " + textContent + Linefeed; }));
               
            }
            private void ClearTextShow()
            {
                txtInfo.Dispatcher.Invoke(new Action(() => { txtInfo.Text = string.Empty; }));
              
            }
      private async Task AsyncMethod()
            {
                var ResultFromTimeConsumingMethod = TimeConsumingMethod();
                string Result = await ResultFromTimeConsumingMethod + " + AsyncMethod. My Thread ID is :" + Thread.CurrentThread.ManagedThreadId;
                SetTextShow(Result);
                //返回值是Task的函数可以不用return
            }
     
            //这个函数就是一个耗时函数,可能是IO操作,也可能是cpu密集型工作。
            private Task<string> TimeConsumingMethod()
            {
                var task = Task.Run(() => {
                    SetTextShow("Helo I am TimeConsumingMethod. My Thread ID is :" + Thread.CurrentThread.ManagedThreadId);
                    Thread.Sleep(5000);
                    SetTextShow("Helo I am TimeConsumingMethod after Sleep(5000). My Thread ID is :" + Thread.CurrentThread.ManagedThreadId);
                    return "Hello I am TimeConsumingMethod";
                });
                return task;
            }
  • 相关阅读:
    react-dnd例子代码学习记录
    GitKraken使用记录
    Table-dnd-tree代码分析
    umi-request请求码200,但是response是网页
    MyBatis-Plus配置输出日志
    PAT甲级1021解法
    PAT甲级1020解法
    PAT甲级1019解法
    PAT甲级1017解法
    PAT甲级1018解法
  • 原文地址:https://www.cnblogs.com/zdc-shine/p/11392845.html
Copyright © 2020-2023  润新知