要实现的目标:
程序中开一子线程,该子线程的任务为持续从下位机读取数据,读取数据过程为一循环,读到数据就退出循环。现在想在每次读数据前开始定时,如果定时时间到,循环尚未结束则报错“读取数据失败”退出程序。其实正常运行时,一般是定时时间尚未结束读取就已经成功,循环也已退出。这种情况下,定时器就应停止。以备下次循环前重置。
以上目标如何实现啊?欢迎大家热烈讨论,万分感谢!!!
程序中开一子线程,该子线程的任务为持续从下位机读取数据,读取数据过程为一循环,读到数据就退出循环。现在想在每次读数据前开始定时,如果定时时间到,循环尚未结束则报错“读取数据失败”退出程序。其实正常运行时,一般是定时时间尚未结束读取就已经成功,循环也已退出。这种情况下,定时器就应停止。以备下次循环前重置。
以上目标如何实现啊?欢迎大家热烈讨论,万分感谢!!!
解决方案 »
- 怎么使List Control每一行的第二列加上不同的控件
- 有什么工具可以查看一个COM 有哪些接口,这些接口又分别有哪些方法可以调用? 有没有这种工具?
- 如何实现这样的功能--获取鼠标指针处的文本格式、在鼠标指针处插入元素
- 已知遍历儿叉树后的中根遍历序列为CDBAFGEIHJ和后序遍历序列为DCBGFIJHEA,试画出该二叉数
- 如何实现类似font字体属性的属性
- 菜单的切换问题,希望给点思路!
- 高手不要闲麻烦,点拨一下就可以了。
- 如何在一个对话框中调用另一个对话框中的函数,实现数据显示?就像VC的界面一样,左边树示点一下,底下窗口显示内容
- ADO编程(初学者)
- 大家看看我写的SPRITE类,用来方便管理SPRITE操作,目的不在如何优化显示
- ole db连接数据库失败问题求助!
- ADO Connection的Execute方法当执行Insert语句时返回Recordset吗?
要不然使用事件也一样。让主线程等待子线程完成时触发的事件,呵呵。
while(true)
{
//开始从下位机读数据
if(读到完整数据)
退出
else
Sleep(10);//等待10毫秒
DWORD dwCur=GetTickCount();
if(dwCur-dwStart>1000*(你需要的秒数)
退出
}
退出时killtimer()