zoukankan      html  css  js  c++  java
  • 转载——关于C#延时

    c#里的延时方法:


    1.用sleep()使线程休眠。
    直接在需要延时的地方插入 System.Threading.Thread.Sleep(1000); 即可。
    这种方式最方便,但是延时过程中会停止其他响应,如果用在主线程中会造成程序的假死。如果有异步操作的话也会暂停,例如用webBrowser加载网页,本来希望延时一段时间等待网页加载完毕,但用sleep的话同时会暂停网页的加载过程。
     
    2.读取当前时间判断。
    可以做成一个延时函数进行调用,记录开始时间然后判断当前时间差,达到延时时间后再执行操作。一个简单的例子如下:

    privatevoid delayTime(double secend)
    {
    DateTime tempTime =DateTime.Now;
    while(tempTime.AddSeconds(secend).CompareTo(DateTime.Now)>0)
    Application.DoEvents();
    }

    注意里面的 Application.DoEvents(); 如果不加的话效果跟sleep差不多,加上以后就可以让程序同时执行其他操作,在网页加载时进行延时很有效。不过 Application.DoEvents()会带来一些效率的问题,具体请参考:
    3.利用Timer,在需要延时的时候设置属性并启动,然后在时间到时执行相应代码,这里不详细描述了。
     
    4.还有一种非主流的方法, 用 Process 调用cmd.exe 执行  "PING 127.0.0.1 -N 50"  ping 一次是一秒,50次就是50秒。这种方式不光是c#,几乎所有编程语言都能用,只要能调用系统命令。批处理编程的时候很有效。
  • 相关阅读:
    office(PPT、Word、Excel)功能目录
    《数商》笔记
    笔记模板
    如何运用思维导图安排考生读书计划(增订版)
    自制桌面图片
    selenium+AutoIt
    selenium中应用问题解决
    mysql卸载
    vue每次修改刷新当前子组件
    vue与dajngo
  • 原文地址:https://www.cnblogs.com/zengjianrong/p/3037732.html
Copyright © 2011-2022 走看看