• 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;
            }
  • 相关阅读:
    二,redis常用的数据类型--list
    一,redis常用的数据类型--String
    redis连接超时--Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Failed connecting to host xxxxx:6379
    Contos 7.5下搭建elasticsearch-7.6.2
    java List中相同的数据合并到一起
    booststrap select2的应用总结
    jquery和bootstrap获取checkbox选中的多行数据
    哈利法克斯(Halifax),布里格斯(Briggs)计算对数的方法-1620年
    Opencv实现频域理想滤波器
    CIELab颜色模型概述
  • 原文地址:https://www.cnblogs.com/zdc-shine/p/11392845.html
Copyright © 2020-2023  润新知