Luc*_*cas 1 c++ multithreading c++11
我假设这个问题很简单.我想首先将一个线程定义为一个类的成员变量,然后在另一个函数中启动该线程.
例如:
头文件:
#include<thread>
class Foo{
public:
void threaded_method();
void start_thread();
private:
std::thread m_thread;
};
Run Code Online (Sandbox Code Playgroud)
Cpp文件:
void Foo::start_thread(){
m_thread = std::thread(threaded_method);
}
Run Code Online (Sandbox Code Playgroud)
虽然以上不起作用,但想法?
要将成员函数传递给线程,还必须传递要在其上执行该函数的实例.
void Foo::start_thread(){
m_thread = std::thread(&Foo::threaded_method, this);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5117 次 |
| 最近记录: |