我试图与boost::fiber图书馆一起玩,但我遇到的问题是" Hello,World"例。在下面的代码中,程序流程在光纤完成后阻塞,主函数永远不会返回。
#include <iostream>
#include <boost/fiber/all.hpp>
using namespace std;
void helloFiber()
{
cout << "Hello, boost::fiber" << endl;
}
int main()
{
boost::fibers::fiber f(helloFiber);
cout << "Before join." << endl;
f.join();
cout << "After join." << endl;
return 0;
}
结果是:
加入之前。
你好,boost :: fiber
我使用boost::fiber的当前开发分支构建了modular-boost当前的开发分支。这是当前实现中的行为错误,还是我的使用有问题?
答案 0 :(得分:1)
您的测试应用打印:
加入之前。 你好,boost :: fiber 加入后。
也许您已经从分支机构开发中查看了损坏的版本
答案 1 :(得分:-2)
试试这个
int main()
{
boost::fibers::fiber f(helloFiber);
f.detach();
f.join();
return 0;
}