转: http://topic.csdn.net/t/20020730/03/909318.html

1.   Threading.Thread.Sleep(...)  
  优点:   简单  
  缺点:   Sleep期间程序(其实是该线程)没有任何响应。  
   
  2.   Timer(定时器)  
        定时器有3种。Forms.Timer/   Timers.Timer/   Threading.Timer  
        第一种是在当前线程启动事件处理,第二种在事件发生时会启动一临时线程处理事件,第三种在事件发生时在一临时线程中调用指定的回调函数。  
  优点:   不阻塞当前线程  
  缺点:   需要定义一事件函数以处理定时事件。  
   
  3.   DoEvents(保证消息循环)  
        可以使用一循环执行定时。代码示例:  
          Public   Shared   Sub   Sleep(ByVal   Interval)  
                  Dim   __time   As   DateTime   =   DateTime.Now  
                  Dim   __Span   As   Int64   =   Interval   *   10000   '因为时间是以100纳秒为单位。  
                  While   (DateTime.Now.Ticks   -   __time.Ticks   <   __Span)  
                          Application.DoEvents()  
                  End   While  
          End   Sub  
   
  优点:   不阻塞当前线程的消息循环。  
  缺点:   不能保证消息处理能否及时回来。  
   
  ===========================================  
  结论:    
  1.   在没有消息循环线程中,使用Thread.Sleep  
  2.   在带消息循环线程中,如果需要定时执行一段程序,使用Forms.Timer  
  3.   在带消息循环线程中,若只想延时一段时间,请使用上面示例中自定义的Sleep  
  4.   若要保证定时精度,请使用Threading.Timer或Timers.Timer.(这两个只是调用接口不一样,   一个是回调函数,一个是事件;前者更精确些)

转: VB.Net 中实现延迟的几种方法分析相关推荐

  1. 【引用】在VB6.0中实现弹出式菜单的几种方法

    在Windows应用程序中,利用弹出式菜单(Pop-up Menu)是增加软件易用性的一个重要方式.本文将向大家介绍在VB6.0中实现弹出式菜单的几种方法. 利用VB6.0内置的PopupMenu方法 ...

  2. java 终止方法_Java中终止线程的三种方法

    Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...

  3. 在JavaScript中重复字符串的三种方法

    In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...

  4. 在js中加html_在HTML文档中嵌入JavaScript的四种方法

    在HTML里嵌入JavaScript 在HTML文档里嵌入客户端JavaScript代码有4中方法: 1.内嵌,放置在标签之间  (少): 2.放置在有 3.放置自HTML事件处理程序中,该事件处理程 ...

  5. html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)

    是解决相对路径的问题,可返回站点的根路径. //这样获得的是绝对路径 //这样获得的是相对路径 能够更有效的防治连接的失效. request.getContextPath()得到的是项目的名字,如果项 ...

  6. mysql 统计条目_mysql 统计表中条目数量的几种方法

    mysql 统计表中条目数量的几种方法 展开 通常的方法是: select count(*) from `table_name` select count(1) from `table_name` s ...

  7. python写错了怎么更改-Python中修改字符串的四种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...

  8. python自带的shell是什么-python中执行shell的两种方法总结

    一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...

  9. matlab中单独存图_Matlab中图片保存的四种方法

    Matlab 中图片保存的四种方法 matlab 的绘图和可视化能力是不用多说的, 可以说在业内是家喻户晓的. Matlab 提供了丰富 的绘图函数,比如 ez** 系类的简易绘图函数, surf . ...

最新文章

  1. 证书格式pfx和cer的区别及转换
  2. 2-01基本顺序表与元素外置顺序表recv
  3. jquery ajax怎么实现,你认为他有什么不足之处
  4. redis分布式缓存(三)
  5. python3的idle打不开_python3.4idle为什么打不开
  6. 台式计算机不用鼠标怎么关机,没有鼠标怎么关机
  7. LeetCode 1055. 形成字符串的最短路径
  8. 陌然系列小程序更新了
  9. DNS_PROBE_FINISHED_NXDOMAIN完美解决办法
  10. 真肝,整理了一周的Spring面试大全【含答案】,吊打Java面试官
  11. resource.h
  12. matlab 生命游戏(可调节代数,存活条件,繁殖条件)
  13. IC设计职位详解之“模拟版图工程师”就业必学课程
  14. TestEngine with ID ‘junit-vintage‘ failed to discover tests
  15. 图数据库的易用性—GES与Flink的对接
  16. ROM定制开发入门-第三方ROM发展现状
  17. bzoj1925【sdoi2010】地精部落
  18. java 滑块验证码 开源,Java AWT生成滑动验证码
  19. 分治法的简单应用 | Koch Curve | 科赫曲线 | C/C++实现
  20. 线阵CCD FPGA CCD测量 直径测量 FPGA代码 CCD光学传感器 TCD1501

热门文章

  1. latex合理使用循环和判断选择语句进行绘图的例子
  2. 珍岛集团全链路、全场景智能营销云平台打造零售行业解决方案
  3. linux、C++、Java、HTML 语言学习资料总结
  4. Unity3D摄像机跟随物体移动的代码控制
  5. Google Earth Engine ——LANDSAT 8 波段计算黄河流域的归一化水体指数NDWI指数
  6. Android面试知识点_
  7. pta上怎么搜题目_完成pta(函数题)习题6-3、6-5、6-6,代码复制在下方答案中,并在pta平台中完成。_学小易找答案...
  8. 如何提高非标自动化设备的设计效率?
  9. 被逼无奈(一)——5G NR小区搜索和同步
  10. 杭电-4506小明系列故事——师兄帮帮忙