如何防止你的UI出现了假死吗?

简介: 如果应用程序在UI线程上执行非UI线程的耗时处理时,会使应用程序界面的运行显得缓慢而迟钝,有时会出现应用程序“UI界面假死”的现象,这也会引起用户的不满。 .NET的多线程技术将耗时操作从UI线程中分离到另外一个工作线程中,可以有效的提高应用程序的响应能力,而采用异步委托调用方法实现多线程的管理可以使得程序结构清晰,编程简单。
如果应用程序在UI线程上执行非UI线程的耗时处理时,会使应用程序界面的运行显得缓慢而迟钝,有时会出现应用程序“UI界面假死”的现象,这也会引起用户的不满。
 .NET的多线程技术将耗时操作从UI线程中分离到另外一个工作线程中,可以有效的提高应用程序的响应能力,而采用 异步委托调用方法实现多线程的管理可以使得程序结构清晰,编程简单。
 
我们要明确,为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括界面就不会死掉了。

 

 

这篇博文写的很不错。

http://www.360doc.com/content/10/0706/16/61151_37250247.shtml

http://www.cnblogs.com/shanechow/archive/2010/05/04/1726924.html

http://www.cnblogs.com/shanechow/archive/2010/05/04/1726957.html
http://www.cnblogs.com/shanechow/archive/2010/05/04/1726934.html

 

 

  代码下载

 

目录
相关文章
|
Go 开发工具 C语言
flutter项目打包.exe文件发布windows版
目录 发布windows版 1.为现有的 Flutter 应用程序添加桌面支持 2..创建main_desktop.dart文件 3.hover安装和环境配置 4.初始化,并打包 坑1
1783 0
flutter项目打包.exe文件发布windows版
|
SQL 关系型数据库 MySQL
IDEA自带的数据库插件,真香
最近阿粉的一个读者问阿粉,说进了一个公司,但是是外包身份进入的,而且甲方公司要求不能在电脑上装一些破解的,盗版的软件,只要发现就能扫描到并且被删除。而且还没有提供正版的软件的激活码,就问阿粉,说有没有什么类似Navicat 一样的工具,又强大,又好用的。
3723 0
IDEA自带的数据库插件,真香
|
Ubuntu Shell 网络安全
实例 : 查看Docker容器内文件系统
dockfile ; docker container ; docker images
4992 0
|
3月前
|
网络安全 数据安全/隐私保护 开发者
诊断并修复SSH连接Github时遇到的"connection closed"错误。
解决"connection closed"错误往往是一个排除法的过程。需要从基础的网络检查做起,逐步过渡到深入的配置和服务端日志审查。每一步都应当仔细验证,确保不遗漏可能导致连接问题的任何细节。在执行以上步骤后,大多数SSH连接问题可以得到解决。如果所有步骤都未能解决问题,可能需要寻求更专业的技术支持,或者在GitHub社区寻找是否有其他开发者遇到并解决了类似的问题。
440 0
Vue3聊天气泡简单实现思路
Vue3聊天气泡简单实现思路
721 0
Vue3聊天气泡简单实现思路
|
消息中间件 SQL 大数据
Hologres 在大数据实时处理中的应用
【9月更文第1天】随着大数据技术的发展,实时数据处理成为企业获取竞争优势的关键。传统的批处理框架虽然在处理大量历史数据时表现出色,但在应对实时数据流时却显得力不从心。阿里云的 Hologres 是一款全托管、实时的交互式分析服务,它不仅支持 SQL 查询,还能够与 Kafka、MaxCompute 等多种数据源无缝对接,非常适合于实时数据处理和分析。
392 2
|
JavaScript Linux 应用服务中间件
Docker部署Node应用简单实践
本文将从零至一,介绍如何在云服务器上通过 Docker 容器运行一个简单的Node应用。
2708 0
|
Linux 开发者 iOS开发
Flutter笔记:桌面应用 窗口定制库 bitsdojo_window
Flutter笔记:桌面应用 窗口定制库 bitsdojo_window
827 0
|
存储 编译器 C++
【C++】List -- 详解(下)
【C++】List -- 详解(下)
|
存储 Web App开发 iOS开发
Electron 从基础到实战笔记 - Electron App对象及其事件
Electron 从基础到实战笔记 - Electron App对象及其事件
475 0