c++ std::thread 参数是类成员函数
时间: 2024-12-18 20:12:15 浏览: 4
C++11 并发指南之std::thread 详解
在C++中,`std::thread`是一种线程库,它允许你在程序中创建和管理并发执行的线程。如果你想在一个线程中执行一个类的成员函数,你需要将该成员函数作为`std::thread`构造函数的参数。这里是一个简单的例子:
```cpp
#include <iostream>
#include <thread>
class MyClass {
public:
void myMemberFunction() {
std::cout << "Hello from member function!" << std::endl;
}
};
int main() {
// 创建一个MyClass对象
MyClass obj;
// 使用std::thread启动一个新的线程来执行myMemberFunction
std::thread threadObj(obj.myMemberFunction);
// 线程开始执行
threadObj.start();
// 主线程继续执行其他任务...
// ...
// 等待线程结束
threadObj.join();
return 0;
}
```
在这个示例中,`obj.myMemberFunction()`被传递给了`std::thread`,这意味着当线程运行时,它会模拟`obj`的行为并调用那个函数。
阅读全文