为什么要加速::光纤块?

时间:2015-07-10 12:22:46

标签: c++ boost fiber

我试图与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当前的开发分支。这是当前实现中的行为错误,还是我的使用有问题?

2 个答案:

答案 0 :(得分:1)

您的测试应用打印:

加入之前。 你好,boost :: fiber 加入后。

也许您已经从分支机构开发中查看了损坏的版本

答案 1 :(得分:-2)

试试这个

int main()
{
  boost::fibers::fiber f(helloFiber);
  f.detach();
  f.join();

  return 0;
}

http://www.boost.org/doc/libs/1_58_0/doc/html/thread.html