要从main()函数中调用线程成员函数,您需要创建一个类或结构体,其中包含线程成员函数,然后在main()函数中创建该类或结构体的对象,并使用该对象调用线程成员函数。以下是一个简单的示例,说明如何从main()函数中调用线程成员函数:
#include<iostream>
#include<thread>
class MyClass {
public:
void threadFunction() {
std::cout << "线程成员函数开始执行"<< std::endl;
// 在这里执行您的线程任务
std::cout << "线程成员函数执行完毕"<< std::endl;
}
};
int main() {
MyClass myObj;
std::thread myThread(&MyClass::threadFunction, &myObj);
myThread.join();
return 0;
}
在这个示例中,我们定义了一个名为MyClass的类,其中包含一个名为threadFunction的线程成员函数。在main()函数中,我们创建了一个名为myObj的MyClass对象,并使用该对象创建了一个名为myThread的线程。我们使用std::thread的构造函数,并传递MyClass::threadFunction和myObj的地址作为参数。
在myThread.join()语句之后,主线程将等待myThread线程完成执行。这确保了在main()函数退出之前,线程成员函数已经完成执行。
请注意,这个示例仅用于演示如何从main()函数中调用线程成员函数。在实际应用中,您可能需要根据您的需求对代码进行修改。
领取专属 10元无门槛券
手把手带您无忧上云