C#除了thread.sleep()的延时方法,还有什么延时方法?

我大约执行完一个方法后要延时大约20s在执行下一函数除了上述方法,还有别的解决办法吗?别跟我说执行做个循环for(I++)当延时函数就行了,多谢各位大神~... 我大约执行完一个方法后要延时大约20s在执行下一函数

除了上述方法,还有别的解决办法吗?
别跟我说执行做个循环for(I++)当延时函数就行了,多谢各位大神~
展开
 我来答
zyl0462
推荐于2017-09-11 · TA获得超过1082个赞
知道小有建树答主
回答量:433
采纳率:75%
帮助的人:331万
展开全部
1.利用定时器timer//定时20s后执行下一个函数

2.记录开始时间,然后读取当前时间,循环判断时间差延时,类似下面代码
private void delay(double tol)//tol=20s
{
DateTime orinowTime = DateTime.Now;//记录延时开始的系统当前时间
while(orinowTime.AddSeconds(tol).CompareTo(DateTime.Now) >= 0)//延时20s
Application.Dosomethings();//执行其他代码,你的下一个函数
}
3.还有一种不常用的方法,用 Process 调用cmd.exe 执行 "PING 127.0.0.1 -N 20" ping 一次是一秒,20次就是20秒,然后执行下一个函数
追问
能具体讲讲你说的第一种方法吗?
追答
System.Timers.Timer mytimer = new System.Timers.Timer(20000);//实例化Timer类,设置间隔时间为20秒;
t.Elapsed+=new System.Timers.ElapsedEventHandler(mytask);//定义定时到达时执行的事件;
t.AutoReset = true;//设置是否自动重启,即自动执行多次;
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件mytask;
public void mytask(object source, System.Timers.ElapsedEventArgs e)
{
MessageBox.Show('Here,mytask!');
}
亓珈蓝宝0HV
2018-05-01 · TA获得超过167个赞
知道小有建树答主
回答量:213
采纳率:71%
帮助的人:34.1万
展开全部
用Thread方法:
先using system.threading;
再在需要延时的进程处插入
thread.sleep(int);
application.doevent();
这个方法只是直接将正在运行的进程HOLD,时间过后该进程再继续运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
藤原子大雄
推荐于2018-05-06 · TA获得超过7197个赞
知道大有可为答主
回答量:6977
采纳率:82%
帮助的人:1756万
展开全部
java是跨平台的,理论上不存在有方法在windows上可以而在linux上不行。你这个可能是你的两个地方JDK或tomcat环境的问题,或者是出现了其他错误,导致linux上没有运行到sleep那一步,或者是代码没有更新到linux上去。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
然后去远足
2015-06-01 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2435万
展开全部
题主先说说你为什么不用 Sleep 吧,可能你哪个地方有误区。
追问
感觉用了sleep后程序卡住了,如果执行别的程序会变得缓慢
追答
Sleep 会阻塞调用所在的线程,如果你在主线程里调用,当然整个程序都会假死。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linrao
2018-04-28 · TA获得超过144个赞
知道小有建树答主
回答量:233
采纳率:100%
帮助的人:102万
展开全部
var autoReset = new AutoResetEvent(true);
autoReset.WaitOne(20 * 1000); // 当前线程阻塞20S
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式