首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
VB.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
暂停线程
[已结贴,结贴人:cyd411]
加为好友
发送私信
在线聊天
cyd411
传说中的NPC
等级:
发表于:
2008-06-26 19:37:06
楼主
Thread.Sleep(1000)
在使用这个Sleep的时候,我的程序窗口也死掉了,
有别的办法能让窗口不死掉吗?
问题点数:
120
回复次数:
19
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
whoami333
炽天之翼
等级:
发表于:
2008-06-26 19:42:27
1
楼 得分:
10
放到辅助线程里。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
51Crack
世界上有10种人,一种是懂二进制的,一种是不懂的!
等级:
发表于:
2008-06-26 21:57:10
2
楼 得分:
10
可以用now来延时
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
51Crack
世界上有10种人,一种是懂二进制的,一种是不懂的!
等级:
发表于:
2008-06-26 21:57:33
3
楼 得分:
0
后一个now - 前一个now
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wy24789
wy
等级:
发表于:
2008-06-26 22:55:39
4
楼 得分:
10
51Crack 能不能说具体点
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yanlongwuhui
炎龙无悔
等级:
发表于:
2008-06-27 09:55:50
5
楼 得分:
10
自己做个循环体,循环体之前记录下时间A,你需要等待的时间为B,则循环体的退出条件就是时间超过A+B,注意在循环体中要加Application.DoEvents()
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cyd411
传说中的NPC
等级:
发表于:
2008-06-30 22:58:07
6
楼 得分:
0
引用 5 楼 yanlongwuhui 的回复:
自己做个循环体,循环体之前记录下时间A,你需要等待的时间为B,则循环体的退出条件就是时间超过A+B,注意在循环体中要加Application.DoEvents()
我以前也这样做的,循环,等待时间,你可以看一下这个时候CPU的占用率就知道了
这个样不行
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cyd411
传说中的NPC
等级:
发表于:
2008-06-30 22:58:47
7
楼 得分:
0
引用 1 楼 whoami333 的回复:
放到辅助线程里。
能具体的说下吗?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
limeng0513
VB.NET一根筋
等级:
发表于:
2008-07-01 09:04:51
8
楼 得分:
10
用timer也行啊。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wood87654321
wood87654321
等级:
发表于:
2008-07-01 09:26:06
9
楼 得分:
10
不要用Thread.Sleep,用Thread.Suspend和Thread.Resume来挂起和恢复,如果要控制暂停时间另用Timer
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jie8991
JAVA|.Net
等级:
发表于:
2008-07-01 09:54:57
10
楼 得分:
10
引用 9 楼 wood87654321 的回复:
不要用Thread.Sleep,用Thread.Suspend和Thread.Resume来挂起和恢复,如果要控制暂停时间另用Timer
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yanlongwuhui
炎龙无悔
等级:
发表于:
2008-07-01 12:15:55
11
楼 得分:
0
引用 6 楼 cyd411 的回复:
引用 5 楼 yanlongwuhui 的回复:
自己做个循环体,循环体之前记录下时间A,你需要等待的时间为B,则循环体的退出条件就是时间超过A+B,注意在循环体中要加Application.DoEvents()
我以前也这样做的,循环,等待时间,你可以看一下这个时候CPU的占用率就知道了
这个样不行
你循环体中是不是没加Application.DoEvents(),我试过,CPU的占用率最多才三四十
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fishidea
等级:
发表于:
2008-07-01 12:17:32
12
楼 得分:
10
引用 9 楼 wood87654321 的回复:
不要用Thread.Sleep,用Thread.Suspend和Thread.Resume来挂起和恢复,如果要控制暂停时间另用Timer
有道理,看来,有时候,程序写法与用法还是要多变.....
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cyd411
传说中的NPC
等级:
发表于:
2008-07-07 23:35:51
13
楼 得分:
0
最近有点忙没来关注,
大家说的TIMER这个我只会用他来隔一段时间自动出发一个事件,
我想实现的是,让我程序暂停执行5秒
timer怎么写呢?
请指点
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cyd411
传说中的NPC
等级:
发表于:
2008-07-08 23:18:26
14
楼 得分:
0
Application.DoEvents(),
加入后cpu还是100%
不过能用谢谢大家
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
gyc
Son of VB.NET
等级:
发表于:
2008-07-09 09:41:23
15
楼 得分:
10
Application.DoEvents(),
或者 Thread.Sleep(0)
可以释放当前线程的CPU时间片
但要是彻底的话,建议使用Thread 单独 实力一个线程,并控制
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mzhao
MZhao Interarticle
等级:
发表于:
2008-07-09 11:57:54
16
楼 得分:
10
用后台线程吧
Sub Button1_Click(sender as object, e as system.eventargs) handles Button1.Click
Dim ts as new Threading.Thread(addressof Run)
ts.start()
End Sub
Sub Run()
'....
Threading.Thread.Sleep(1000)
'....
End sub
注意如果要操作窗体控件时要使用Delegate加Me.Invoke,保证线程安全。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
vwxyzh
yzh - Invalid method body.
等级:
发表于:
2008-07-09 12:14:53
17
楼 得分:
10
开后台线程(或利用线程池),然后在后台线程里面Sleep
或者用Timer,等待Timer的回调
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cyd411
传说中的NPC
等级:
发表于:
2008-07-10 19:05:17
18
楼 得分:
0
恩,恩谢谢大家又学了很多方法
Application.DoEvents()
加入后可以保证我当前程序不进入假死状态,谢谢
等等在结帖子,多学学其他方法
分不够我在加分
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
robgao
流星
等级:
发表于:
2008-07-11 15:27:18
19
楼 得分:
10
用BackgroundWorker
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友