VC一个循环中调用一个带有定时器的函数时,如何等带有定时器的函数执行完,再进行下一次循环调用?

VC一个循环中调用一个带有定时器的函数时,如何等带有定时器的函数执行完,再进行下一次循环调用?感觉是带有定时器的函数还没执行完就执行下一次循环调用。。。... VC一个循环中调用一个带有定时器的函数时,如何等带有定时器的函数执行完,再进行下一次循环调用?感觉是带有定时器的函数还没执行完就执行下一次循环调用。。。 展开
 我来答
kshixiang
2013-09-01 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:106万
展开全部
可以这样做利用 线程来做,在每次循环的时候CreateThread创建线程循环中利用waitforsingleobject 函数来等待线程执行完毕,你要调用的函数就在线程里面进行调用这样就可以实现每次函数执行完下次循环才会开始。

#include "stdafx.h"
#include <windows.h>
#include <process.h> /* _beginthread, _endthread */
#include <stddef.h>
#include <stdlib.h>
#include <conio.h>
#include "stdio.h"
#include <process.h>

void print() //要调用的函数
{
printf("fs");
}
DWORD WINAPI ThreadProc(
LPVOID lpParameter // thread data
)
{
print();
Sleep(3000); //模拟执行时间
return 0;
}

int main(int argc, char* argv[])
{
int i = 0;

for(; i < 3; ++ i)
{
HANDLE h_thread = CreateThread(NULL,0,ThreadProc,NULL,0,NULL); //创建线程
WaitForSingleObject(h_thread ,INFINITE); //等待
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式