用timeGetTime函数定时50ms,在50ms内计时,按时间逐行查数据库记录,再调用厂家提供的dll函数输出给硬件。处理时间超过了50ms,造成定时器被拖后,4分钟的任务花了8分钟。
现在提出采用多线程的办法,把硬件输出函数放到一个线程中执行,不知怎么样???
大家说说。
现在提出采用多线程的办法,把硬件输出函数放到一个线程中执行,不知怎么样???
大家说说。
解决方案 »
- 求问:vb6怎么嵌入一张已经有数据的excel表?多谢!
- 很邪气的错误!急等高手!
- 这如何去实现?
- 听说很难.不知道是不是
- 求助vba取得excel单元格的name
- 高手帮忙啊,急啊!关于Treeview的。
- 如何批量检索文本文件诸多字符串的值?有请高手解答
- 如何自动关闭一个指定标题的Messagebox ?
- 这个问题比较难DataReports最高级应用!!!!!!!!!!!!!!!!!
- 我用DAO3.6打开ACCESS2000库,每次机器重启后,第一遍都打不开,报错说无法识别该数据库或文件错误,但再执行一边就可以了,真奇怪!!!那位知道呀?谢谢了
- 2个表之间关系的问题
- 关于自定义Web控件中的数字证书问题....求高人求解.谢谢
Private Declare Function QueryPerformanceFrequency Lib "kernel32" (lpFrequency As Any) As LongPrivate start As Currency
Private frequency As CurrencySub Main()
Dim nextMS As Long
Dim currentMS As Long
QueryPerformanceFrequency frequency
QueryPerformanceCounter start
nextMS = 50
While nextMS <= 1000
currentMS = GetMillisecond
If currentMS < nextMS Then
DoEvents
Else
Debug.Print "Timer at " & currentMS & " ms"
nextMS = nextMS + 50
End If
Wend
End SubFunction GetMillisecond() As Long
Dim current As Currency
QueryPerformanceCounter current
GetMillisecond = ((current - start) / frequency) * 1000
End Function