C#多线程、异步

1.如果数据仅用于展示,或者对数据的获取没有先后要求,可以使用如下线程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void AutoUpdate_Loaded(object sender, RoutedEventArgs e)
{Thread ThreadUpdate = new Thread(Update);}
 
private void Update()
{
try
{
Thread.Sleep(2000);
 
//执行更新
ExcuteUpdate();
 
Dispatcher.BeginInvoke(new Action(delegate
{
this.Close(); //执行界面层:关闭窗体
}));
 
}
catch (Exception ex)
{
  MessageBox.Show(ex.Message);
}
}

2.异步

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// <summary>
       /// 登录验证
       /// </summary>
       /// <returns></returns>
       public async Task<bool> LoginVerfication()
       {
           bool ret = true;
           if (EditCustomSetting == null || EditCustomSetting.LoginUserCode.IsNullOrEmpty() || EditCustomSetting.Password.IsNullOrEmpty())
           {
               await App.Current.MainPage.DisplayAlert("提示", "登录名和密码不能为空,请检查!", "确定");
               return false;
           }
           //获取用户配置
           var result = await service.WebApiLogin(EditCustomSetting.LoginUserCode, EditCustomSetting.Password, EditCustomSetting.ClientCode);
           if (!result.IsSucess)
           {
               await Task.Delay(1000);
               var data = await service.WebApiLogin(EditCustomSetting.LoginUserCode, EditCustomSetting.Password, EditCustomSetting.ClientCode);
               if (!data.IsSucess)
               {
                   await App.Current.MainPage.DisplayAlert("提示", data.Message, "确定");
                   return false;
               }
           }
           return ret;
       }

  

posted @   马玲  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示