怎么写代码让一个函数在指定时间内如果没有执行完毕也返回一个值退出?

AdamsLee 2003-10-17 12:47:59
rt
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
2i3i4i 2003-10-20
  • 打赏
  • 举报
回复
楼上的只能等待多少时间,可是线程如果顺利执行完就不需要等这么多时间,
所以我想需要一个判断线程顺利执行的方法,怎么做呢?

------------------------------------
启动一个线程,再WaitForSingleObject(hHandle,10000)来等它结束 <这里是等10秒钟>,

如果线程等了10秒还没有结束,就杀了它返回。

如果线程在5秒钟后就结束了,当然它就在5秒钟后返回了啦,他不会一定要等上10秒钟的。看来你对这个WaitForSingleObject这类的东西不是很熟啊。
microran2000 2003-10-20
  • 打赏
  • 举报
回复
我想你需要在处理线程中设置系统对象比如事件,或者设置状态标志,在另一个线程中检测这个对像和标志.
AdamsLee 2003-10-18
  • 打赏
  • 举报
回复
楼上的只能等待多少时间,可是线程如果顺利执行完就不需要等这么多时间,
所以我想需要一个判断线程顺利执行的方法,怎么做呢?
microran2000 2003-10-17
  • 打赏
  • 举报
回复
void Doing(....,DWORD dwTimeOut)
{
DWORD dwStart=GetTickCount();
while(GetTickCount()-dwStart<dwTimeOut) {
}

return TIMEOUT;


}
Bandry 2003-10-17
  • 打赏
  • 举报
回复
只能用线程了
AdamsLee 2003-10-17
  • 打赏
  • 举报
回复
当然有这样的需要了,比如说这个函数是用来取某一硬件中的一个值,一段时间内取不出来,也要返回一个出错的值。
FlyYang 2003-10-17
  • 打赏
  • 举报
回复
哪有这样做的
要不你用线程执行你的函数
想要终止的时候强制中断线程

---------
++C++
---------

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧