0
所以我想要一个简单的多线程程序,可以通过引用(或作为指针)传递给线程函数。我似乎无法以有效的方式去做。我将如何正确编码它以便编译?如何将对象作为引用或指针传递给线程函数?
#include <iostream>
#include <thread>
using namespace std;
class MyClass
{
int x;
public:
MyClass()
{
x = 10;
}
};
void foo(MyClass* c)
{
cout << "This is it" << endl;
}
int main()
{
MyClass c();
thread t1(foo, &c);
t1.join();
return 0;
}
线程函数需要能够访问MyClass对象以便记录和获取数据。这甚至有可能吗?如何才能做到这一点?
编辑:我最终需要发生的是对线程中的类对象'c'所做的任何更改实际发生在对象的同一实例中。稍后将详细说明该程序以运行多个线程,这些线程都访问MyClass对象的一个实例。所以,如果有另一种方法来做到这一点,而不使用引用或指针,或者别的什么,请让我知道!
谢谢,这解决了我遇到的问题! –