转: VB.Net 中实现延迟的几种方法分析
转: 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 中实现延迟的几种方法分析相关推荐
- 【引用】在VB6.0中实现弹出式菜单的几种方法
在Windows应用程序中,利用弹出式菜单(Pop-up Menu)是增加软件易用性的一个重要方式.本文将向大家介绍在VB6.0中实现弹出式菜单的几种方法. 利用VB6.0内置的PopupMenu方法 ...
- java 终止方法_Java中终止线程的三种方法
Java中终止线程的三种方法 Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 这些终止线程运行的方法已经 ...
- 在JavaScript中重复字符串的三种方法
In this article, I'll explain how to solve freeCodeCamp's "Repeat a string repeat a string" ...
- 在js中加html_在HTML文档中嵌入JavaScript的四种方法
在HTML里嵌入JavaScript 在HTML文档里嵌入客户端JavaScript代码有4中方法: 1.内嵌,放置在标签之间 (少): 2.放置在有 3.放置自HTML事件处理程序中,该事件处理程 ...
- html怎么样取jsp中的路径,jsp中获得路径的两种方法和获得url路径的方法(推荐)
是解决相对路径的问题,可返回站点的根路径. //这样获得的是绝对路径 //这样获得的是相对路径 能够更有效的防治连接的失效. request.getContextPath()得到的是项目的名字,如果项 ...
- mysql 统计条目_mysql 统计表中条目数量的几种方法
mysql 统计表中条目数量的几种方法 展开 通常的方法是: select count(*) from `table_name` select count(1) from `table_name` s ...
- python写错了怎么更改-Python中修改字符串的四种方法
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符. 因此改变一个字符串的元素需要新建一个新的字符串. 常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用joi ...
- python自带的shell是什么-python中执行shell的两种方法总结
一.使用python内置commands模块执行shell commands对Python的os.popen()进行了封装,使用SHELL命令字符串作为其参数,返回命令的结果数据以及命令执行的状态: ...
- matlab中单独存图_Matlab中图片保存的四种方法
Matlab 中图片保存的四种方法 matlab 的绘图和可视化能力是不用多说的, 可以说在业内是家喻户晓的. Matlab 提供了丰富 的绘图函数,比如 ez** 系类的简易绘图函数, surf . ...
最新文章
- 1043 输出PATest
- php header setcookie,php中header头设置Cookie与内置setCookie的区别,和js对cookie操作
- 测试无线节能信标与主控器之间的控制功能
- Java内联虚拟方法调用的性能
- Yakuake 2.8 beta1
- centos7 安装 JDK环境
- kinnect face tracking大概流程
- 使用PosixFilePermission的Java设置文件权限
- Android ListView + ArrayAdapter、SimpleAdapter、BaseAdapter实现列表
- VC2005编译优化选项之玄机
- 计算机考试祝福,考试前说的祝福语汇编35句 参加考试前的祝福语
- 计算机体系结构基础 计算机系统评价和性能分析心得
- java 设置excel颜色_Java 设置Excel图表背景填充(颜色、图片填充)
- uva 10246 - Asterix and Obelix(最短路)
- ARM7——LPC2xxx小总结
- 【网络】H3C 交换机telnet查看端口流量Python小工具
- 用户输入一个整数,求出它的各个位数,并求各位数之和
- Linux系统创建vlan教程,linux vlan配置详解
- win7搜索功能失效/win7搜索功能不能使用
- 大学生面试技巧与注意事项|实战经验
热门文章
- tiktok最新风控算法以及视频播放量问题研究
- MPLS总部分部共用AS架构案例
- 【技术分享】用 Python 实现 小六壬 测算吉时
- “Google 软件开发代理商计划” 中国地区正式开启报名
- ERP软件测试需要掌握什么技能,ERP软件测试时,应该考虑什么?-顺景软件
- java对日开发中常用词汇(一) / java対日ソフトウェア开発中よく使える単語 (不定时更新)
- 阿里easyExcel使用—上(1.1.2-beta5版本)
- 淘宝为例进行软件质量属性分析
- 知识追踪(一):BKT
- PHP接入 paytm的支付 和转账