MFC VC++ 同时调用两个函数。。。。。。各位高手大哥。。小弟求助。。。
因为代码太过分散,不好贴出来。。我自己定义了一个类。我需要在某一时刻同时调用同一个函数。。。我自己用SetTimer()来调用,我的那个函数的整个运行时间需要10000m...
因为代码太过分散,不好贴出来。。我自己定义了一个类。我需要在某一时刻同时调用同一个函数。。。我自己用SetTimer()来调用,我的那个函数的整个运行时间需要10000ms。因此我在SetTimer(1,10,NULL),来调用,想这样就有时间差可以在我那个函数没有运行完的时候就可以再次调用。可是实际情况却是要在我的那个函数运行完了才会执行SetTimer()来再次调用我的那个函数。。。。。。
可是我的目的是要可以同时申请多个对象,然后同时运行我的那个函数。。。。
这个问题怎么解决啊。。。。
这是我的那个程序现在遇到的瓶颈。。。。。。。。。。
各位大哥。。。。。小弟该怎么办啊。。。。。怎么来设计啊。。。。。。
求求给为啦。。。。。。。。。。。
我自己也没有分。。。。。。。但是还是求求各位帮帮小弟。。。。。。。。。 展开
可是我的目的是要可以同时申请多个对象,然后同时运行我的那个函数。。。。
这个问题怎么解决啊。。。。
这是我的那个程序现在遇到的瓶颈。。。。。。。。。。
各位大哥。。。。。小弟该怎么办啊。。。。。怎么来设计啊。。。。。。
求求给为啦。。。。。。。。。。。
我自己也没有分。。。。。。。但是还是求求各位帮帮小弟。。。。。。。。。 展开
3个回答
展开全部
建议采用多线程的方式
另外你的SetTimer函数好像有点问题,分配的时间片是10ms,但那个函数的运行时间是10000ms,这样肯定不行
采用多线程的方式,申请一次创建一个线程,函数运行结束线程自动终止,
另外你的SetTimer函数好像有点问题,分配的时间片是10ms,但那个函数的运行时间是10000ms,这样肯定不行
采用多线程的方式,申请一次创建一个线程,函数运行结束线程自动终止,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我个人认为你可以在OnTimer函数中加入如下代码
CreateThread(NULL,0,pFunc,pParm,0,NULL);
其中pFunc为你要调用的那个函数,pParm是那个函数的入参,没有的话随便写个参数;
这样你就可以创建N个线程同时调用你的那个函数pFunc了
CreateThread(NULL,0,pFunc,pParm,0,NULL);
其中pFunc为你要调用的那个函数,pParm是那个函数的入参,没有的话随便写个参数;
这样你就可以创建N个线程同时调用你的那个函数pFunc了
追问
做了。。。但是有点问题。。
DWORD WINAPI CarRun(CDC * pDC); BOOL CarthreadRun(CDC * pDC);
BOOL CCar:: CarthreadRun(CDC * pDC)
{ CreateThread(NULL,0,CarRun,pDC,0,NULL);//编译的时候没有通过。。。我笨。。
return true;//麻烦大哥再给小弟讲讲。
}是我太笨了。。英语不好。没有把MSDN给看懂。。。。。
追答
static DWORD WINAPI pfunc1(LPVOID lpParameter);//这个在.h文件中
DWORD CMfc_projectDlg::pfunc1(LPVOID lpParameter)
{
return 0;
}
void CMfc_projectDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CreateThread(NULL,0,pfunc1,0,0,NULL);
CDialog::OnTimer(nIDEvent);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多线程!!!!!!
更多追问追答
追问
谢谢大哥。。。。。。。。
追答
多线程里面pFunc 的格式是固定的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询