multithreading - 如何在不创建静态函数的情况下调用线程
问题描述
我有一个看起来像这样的代码
class foo
{
public:
foo();
~foo();
int process();
};
int main()
{
foo myfoo1;
foo myfoo2;
std::thread firstthread(myfoo1.process());
std::thread secondthread(myfoo2.process());
return 0;
}
这是我得到的错误
'std::invoke': no matching overloaded function found Disparity
我知道编译器在抱怨,因为process()
不是static
,但这涉及对类进行重大更改,我不想走那条路。关于如何启动胎面的任何其他提示?
我不能做
std::thread firstthread(&foo::process,foo() );
因为myfoo1
不一样myfoo2
...
解决方案
推荐阅读
- azure - 适用于多租户应用的 Azure SignalR 服务
- microsoft-teams - 如何在 Teams 的自适应卡片中提及有效用户
- asp.net - 如何将 VS19 路径更改为 IIS Express?
- python - 熊猫在一列中为另一列中的所有相同值添加值
- scala - Apache Flink - SVM 的推文向量化
- java - 如何将“Point”值传递给构造函数
- python - 如何检查一个字符串是否包含2个相同的字符
- python - MacOS终端:退出终端时让外部应用程序退出
- java - 我正在尝试测试封装,如果我调用 new Obj 进行测试,它是否计数?
- docker - 在 Windows 上升级 docker 引擎