private async void DelSelf()
{
this.Dispatcher.Invoke(() =>
{
NotificationMsgMgr.ShowMsg("此用户已被管理员删除,将自动登出!!");
});
await Task.Delay(3000);
//结束进程
System.Diagnostics.Process.GetCurrentProcess().Kill();
}
执行到await,并不会卡死在这里,若有其他线程调此方法仍可以调用。3s后,继续走后续的步骤。如果用sleep,则会卡死在这个线程中,其他线程无法调用此函数。
异步执行
Await Task.Run(()=>{
})