C#程序窗口假死

我第一次编写windows窗口程序(C#),出现窗口假死现象,求解决思路。是这样的,为了完成某个功能,需要顺序完成若干步骤,如果是多线程,不顺序也行,但每次只能执行一个小... 我第一次编写windows窗口程序(C#),出现窗口假死现象,求解决思路。
是这样的,为了完成某个功能,需要顺序完成若干步骤,如果是多线程,不顺序也行,但每次只能执行一个小步骤,其它步骤必须等待当前步骤执行完才能执行。而且每个步骤之间需要加入一定的时间延迟,缓冲一下(必须这么做),按理说:采用以下语句最简洁: 步骤1; sleep();步骤2;sleep()……,但这样会造成窗口假死。最完善的办法可能是创建n个线程,每次延迟一定时间后执行下一线程,好是好,但需要建很多线程。我看到有人实现了自己的delay()方法,替换上述sleep()语句就可以执行,而且不会让窗口假死,不知是怎么实现的。网上搜索了一下,也没弄明白。这个delay方法,先不管它是怎么延时的,它应该让主线程(窗口线程)线程挂起(或等待)一段时间吧? 怎么让窗口线程在等待时不假死呢? 答案直接hi我也算,可以加分100以上,看回答质量了。
几位朋友回答都认真,我就再补充一下,我这个程序是模拟提交网页表单的。比如登录webqq等这类的操作。问题是由Thread.sleep()语句引起的。sleep会造成整个界面假死,但又不能不在两个操作(比如填写用户名算一个操作,填写密码是另一个操作)之间作一些延迟(主要作用是模拟手工操作)。所以延迟是必须的,这不是技术问题,是态度问题(开个玩笑,呵呵)。我看过模拟精灵写的程序,他就是用自己的 delay语句来代替sleep语句,不知是怎么实现的。
展开
 我来答
昆腾国际物流
2011-06-06 · TA获得超过115个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:163万
展开全部
线程异步了,socket通信时都是这样做的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式