可以通过以下步骤完成:
下面是一个示例代码:
#include <iostream>
#include <thread>
#include <mutex>
class MyClass {
private:
std::mutex mtx;
public:
void myMethod() {
// 使用互斥锁保护共享资源
std::lock_guard<std::mutex> lock(mtx);
// 执行需要保护的代码段
// ...
}
};
int main() {
MyClass obj;
// 创建线程并执行方法
std::thread t(&MyClass::myMethod, &obj);
// 等待线程执行完毕
t.join();
return 0;
}
在上述示例中,MyClass类包含了一个互斥锁对象mtx,并在myMethod()方法中使用互斥锁保护了需要保护的代码段。在主函数中,通过创建线程对象t,并将MyClass的实例obj和myMethod作为参数传递给线程对象的构造函数,实现了使用包含互斥锁的类的方法实例化cpp11线程。
请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和扩展。对于更复杂的多线程场景,可能需要使用其他同步原语,如条件变量等。
领取专属 10元无门槛券
手把手带您无忧上云