Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;线程和类_C++_Multithreading - Fatal编程技术网

C++ C++;线程和类

C++ C++;线程和类,c++,multithreading,C++,Multithreading,我最近一直在做一个线程程序,简单的东西-它可以工作。 我现在想改进它,或者用面向对象的方式重写它 我使用的是Code::Blocks,据我所知,我将类存储在单独的文件中。在那里,我在.h文件中有原型函数。 我想问的是: 我应该从哪里开始线程?我应该在哪里加入他们?在“main.cpp”文件中? 如果我正在存储类和函数,你能提供一些简单的例子来说明如何启动这样的线程吗。在不同的文件中? 谢谢 我的班级档案 #include "fooCheck.h" #include <iostream>

我最近一直在做一个线程程序,简单的东西-它可以工作。 我现在想改进它,或者用面向对象的方式重写它

我使用的是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;
}
还有我的主()cpp文件

#include stuff_stuff_stuff
#include "fooCheck.h"

int main()
{
    ICMP_check foo_acces_object;
    foo_acces_object.fooFS();
}
因此,放置的对象工作正常,并从类执行函数。 我希望类中的函数作为线程启动和执行。 我尝试的是: 线程tt1{foo_check::fooFS()}; std::线程tt1{fooFS()};
关于如何推进这一进程,有什么建议吗

>我已经提出了一个运行C++线程的模式,该线程与线程是线程的一个类具有相同的生命周期。它基本上是C++类的线程模式,避免了使用C++线程时的一些常见问题。

这个问题没有简单的答案。在有意义的地方启动并加入线程,这与类或任何东西无关。嗨-添加了我的一些代码概念。。。你能看一看并提出建议吗?同样,答案并不取决于你的班级结构。真正重要的是a)用
一些代码替换什么(等等)和b)描述程序应该做什么。
#include stuff_stuff_stuff
#include "fooCheck.h"

int main()
{
    ICMP_check foo_acces_object;
    foo_acces_object.fooFS();
}