C++ 我想在类中创建一个线程 然后让线程函数一直执行 就像timer一样间隔一段时间执行不知道怎么弄

#include<windows.h>#include<iostream>#include<process.h>usingnamespacestd;classA{publ... #include <windows.h>
#include <iostream>
#include <process.h>
using namespace std;

class A
{
public:
A()
{
_beginthread(Agent, 0, (void*)this);
}
void run()
{
cout << "Program is running..." << endl;
}
private:
static void Agent(void *p)
{
A* a = (A*)p;
a->run();
}
};
int main()
{
A a;
}
类似这样的
展开
 我来答
lovempeg
2012-06-20 · TA获得超过121个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:110万
展开全部
你上面的代码框架已经符合你的需求了。只是Agent那里稍微改一下,如果你能看懂上面的代码你完全自己有能力写出来
static void Agent(void *p)
{
A* a = (A*)p;
while(1)
{
a->run();
sleep(1);//休眠1秒
}
}
追问
这个方法用过了 不行啊
追答
如果真说问题的话,在你的main函数,你这个函数直接退出了,所以线程没有机会进入到线程函数里,别让主函数退出,你的模型就OK了。

int main()
{
A a;
wile(1)
;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式