std::thread 运行 对象中的代码
std::thread Run code in object
如何启动一个线程来执行另一个 object/class 的代码?
这是我尝试过的方法,但没有用
#import <thread>
#import "Foo.h"
int main() {
Foo bar;
std::thread asyncStuff(bar.someMethod);
}
为什么这不起作用,我该如何解决?
解决方法:
改为调用 std::thread asyncStuff(&Foo.someMethod, &bar);
。
你想要:
std::thread asyncStuff(&Foo::someMethod, &bar);
(不要忘记在销毁 std::thread
对象之前加入或分离线程。)
如何启动一个线程来执行另一个 object/class 的代码?
这是我尝试过的方法,但没有用
#import <thread>
#import "Foo.h"
int main() {
Foo bar;
std::thread asyncStuff(bar.someMethod);
}
为什么这不起作用,我该如何解决?
解决方法:
改为调用 std::thread asyncStuff(&Foo.someMethod, &bar);
。
你想要:
std::thread asyncStuff(&Foo::someMethod, &bar);
(不要忘记在销毁 std::thread
对象之前加入或分离线程。)