2013年4月21日

C#程序运行时间长出现无法响应状态

摘要: C#程序运行时间长出现无法响应状态5补充:大家好,我写了个C#应用程序,由于运行时间较长,大概有5分钟才能运行完毕。然而运行时窗口出现无法响应的状态,就是整个窗口除了关闭和最小化按钮可以点击,其余的全部不能点击了,但程序仍可正常运行完毕,而且没错误。请各位帮忙告诉我这是什么原因。好多程序在CPU占用100%的情况下都不会出现无法响应状态。可能有一个大的循环占用了主线程,建议使用多线程。只要你那个运算过程不涉及到界面的操作,一个简单的线程就可以。 阅读全文

posted @ 2013-04-21 10:18 大胡子青松 阅读(1497) 评论(0) 推荐(0) 编辑

C#多线程与UI响应 防界面假死

摘要: 一.概述在使用C#进行应用程序设计时,经常会采用多线程的方式进行一些后台任务的工作。对于不同的应用场景,使用的策略也不尽相同。1.后台循环任务,少量UI更新:例如批量上传文件,并提供进度。这种情况使用BackgroundWorker组件是非常好的选择。2.耗时的后台任务:这里的耗时任务是指一个时间较长的任务,并且不能精确获取进度,如:调用一个远程WebService接口。这种情况可以开两个线程,一个工作,一个更新UI(不能提供进度,只能显示动画表示系统在运行中)。3.耗时的UI任务:当工作压力集中在UI响应上时,可以在工作者线程中增加延时,从而让UI线程获得响应时间。整个工作的总体时间会增加, 阅读全文

posted @ 2013-04-21 10:16 大胡子青松 阅读(780) 评论(0) 推荐(0) 编辑

C#使用多线程使软件界面具有较好的响应性

摘要: 软件界面的响应特性是判断一款软件的非常重要的方面。一般来说,不管你软件功能做得有多么奇妙,如果软件有一点点死机的感觉都会让用户感到很讨厌,甚至怀疑你软件里是否藏有更大的问题。要提高界面的响应特性,最好的办法莫过于使用多线程,并把呈现界面的线程独立出来。以前只有使用C++才能实现的多线程功能,现在在.Net框架下,所有的语言(包括VB)都可以使用了。不过,使用多线程比使用单一线程要麻烦得多,比如线程之间的同步问题,做得不好很容易出错,而有的时候这种错误要开发人员花上几个星期的时间才能找到。在Windows Form软件中使用多线程更是有一些限制。下面我们就把在Windows Form软件中使用多 阅读全文

posted @ 2013-04-21 10:14 大胡子青松 阅读(190) 评论(0) 推荐(0) 编辑

多线程使用实例

摘要: usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.Threading;///<summary>///在开发中经常会遇到线程的例子,如果某个后台操作比较费时间,我们就可以启动一个线程去执行那个费时的操作,同时程序继续执行。在某些情况下可能会出现多个线程的同步协同的问题,下面的例子就展示了在两个线程之间如何协同工作。//////这个程序的思路是共同做一件事情(从一个ArrayList中删除元素),如果执行完成了,两个线程都停止执行。///作者:周公///时间:2008-5-17 阅读全文

posted @ 2013-04-21 07:34 大胡子青松 阅读(170) 评论(0) 推荐(0) 编辑

导航