gpt4 book ai didi

C++:在 header 中实例化boost::thread

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:29 24 4
gpt4 key购买 nike

我试图从实例化类的那一刻起运行一个线程。

该类有一个头文件:

#include <boost/thread.hpp>
....
class test
{
public:
....
boost::thread worker(doWork); --->how should this be declared?
...
}

并且在类方法中,我实现了应该在线程“worker”中调用的函数 doWork()。

...
void doWork()
{
while(1)
{
std::cout<<"hello";
}
}
....

只要实例化了“test”类,我应该在哪里实例化boost::thread来运行线程?

谢谢

最佳答案

您将在构造函数中初始化它:

test::test() : worker(doWork) {}

虽然你暗示它可能是一个成员函数;在这种情况下,您需要将其绑定(bind)到对象以调用成员:

worker([this]{doWork();})                // C++11
worker(boost::bind(&test::doWork, this)) // Old-school

关于C++:在 header 中实例化boost::thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com