c#编写程序运行时间长且出现假死情况,如何告诉用户程序正在执行,求代码

qq_34577952 2016-11-04 11:40:10
本人用c#编写程序运行时间长且出现假死情况,如何告诉用户程序正在执行呢,大神们求代码。
...全文
613 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
我叫小菜菜 2016-11-05
  • 打赏
  • 举报
回复
BackgroupWorker
john_QQ:2335298917 2016-11-04
  • 打赏
  • 举报
回复
你需要将耗时操作放在一个线程中执行,界面无响应,是很糟糕的用户体验
  • 打赏
  • 举报
回复
比如说,您使用一个单线程的开发工具(比如早期的vb、或者js/node.js 之类的)来编写一个游戏,你怎么来设计流畅的交互游戏的控制引擎呢? 这是个知识。交互是核心。正因为有交互,所以程序设计根本就不是刚学编程时那种函数式(简单地只知道“输入->输出”)的,而是更高级的基于交互流程来驱动任务流的程序。
  • 打赏
  • 举报
回复
一个程序在运行中需要交互,那么程序流程就要成为一个“交互事件驱动的”程序。比如说你要给一个人打电话,你不是自己一个劲说话,而是说了一段之后就结束了,然后在定时等待半秒钟之后才说第二段。这就是一个策略。 先不用考虑线程等等问题,线程容易被滥用。先把更重要的设计知识学到手,单线程程序也应该合理地考虑到交互流程。有些人只是在业余编程时学过什么“数学函数式的编程”知识,对交互程序设计缺乏知识。交互程序中,“交互事件驱动”是流程设计的灵魂,根本不是函数式的设计方法!
  • 打赏
  • 举报
回复
需要长时间运行的操作应该在用单独线程执行,线程开始后主线程提示用户正在执行 this.initImageThread = new System.Threading.Thread(new System.Threading.ThreadStart(new Action(() => { // 你要执行的代码,但是界面元素不能在此线程中操作 })));
  • 打赏
  • 举报
回复
这是你自己程序设计问题。你程序设计的流程中不考虑通知的部分,然后又问“如何告诉用户程序正在执行呢”,这除了作假(显示一个假的提示)以外,也就没有什么办法了。因为是你人为造成的!
闭包客 2016-11-04
  • 打赏
  • 举报
回复
UI 线程卡住了,就不能有任何响应的了,包括提示用户。 耗时的任务不能在 UI 线程做。
飞天凤凰601 2016-11-04
  • 打赏
  • 举报
回复
比如我编的哪个激光打标机的程序,接口卡带的程序,在雕刻时,如果不采用线程或后台,程序会一直假死,哪客户哪受得了——
qq_34577952 2016-11-04
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
一个程序在运行中需要交互,那么程序流程就要成为一个“交互事件驱动的”程序。比如说你要给一个人打电话,你不是自己一个劲说话,而是说了一段之后就结束了,然后在定时等待半秒钟之后才说第二段。这就是一个策略。 先不用考虑线程等等问题,线程容易被滥用。先把更重要的设计知识学到手,单线程程序也应该合理地考虑到交互流程。有些人只是在业余编程时学过什么“数学函数式的编程”知识,对交互程序设计缺乏知识。交互程序中,“交互事件驱动”是流程设计的灵魂,根本不是函数式的设计方法!
受教了,开始学习代码不久,还得多多学习呀。
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编写的《微信小程序开发宝典》。 购课请咨询qq2326321088

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧