我最近一直在使用线程程序,简单的东西 - 它的工作原理。 我想现在改进它或以面向对象的方式重写它。
我正在使用Code :: Blocks,因为我了解到我将类存储在单独的文件中。在那里我有.h文件中的原型函数。
我想问的问题是:
我应该在哪里开始线程?我应该在哪里加入他们?在“main.cpp”文件中?
如果我存储类和函数,你能提供一些关于如何启动这些线程的简单例子吗?在不同的文件?
由于
我的班级文件
#include "fooCheck.h"
#include <iostream>
fooCheck::fooCheck()
{
std::cout << "blah blah" << std::endl;
std::cout << "ctor"<< std::endl;
}
int fooCheck::fooFS(){ <- I want this to be startred as a thread
some code
return 1;
}
我的头文件
class fooCheck
{
public:
fooCheck();
int fooFS();
private:
};
#endif
和我的main()cpp文件...
#include stuff_stuff_stuff
#include "fooCheck.h"
int main()
{
ICMP_check foo_acces_object;
foo_acces_object.fooFS();
}
因此,放置的对象可以正常工作并从类中执行该函数。 我想从类中启动函数并将其作为一个线程执行。 我尝试的是: std :: thread tt1 {foo_check :: fooFS()}; std :: thread tt1 {fooFS()}; 关于如何推进这项工作的任何建议?
答案 0 :(得分:-1)
我已经提出了一种运行c ++线程的模式,它与生成线程所属的类具有相同的生命周期。它基本上是c ++类的线程模式,它避免了使用c ++线程时的一些常见问题。