Я пытаюсь играть с повышение :: волокна библиотека, но у меня проблема с примером «Hello, World». В следующем коде поток программы блокируется после завершения волокна, и функция main никогда не возвращается.
#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
После присоединения.
может быть, вы заказали сломанную версию из ветки разработки
попробуй это
int main()
{
boost::fibers::fiber f(helloFiber);
f.detach();
f.join();
return 0;
}