<fn>копируется или перемещается во внутреннее хранилище для доступа новым волокном. Если<launch>указано (или по умолчанию) на<post>, новое волокно помечено& #8220;готово& #8221;и будет введено при следующей возможности. Если<launch>указано как<dispatch>, вызывающее волокно подвешивается и новое волокно вводится немедленно.
Postconditions:
<*this>относится к вновь созданному волокну исполнения.
Программист должен убедиться, что деструктор никогда не выполняется, пока волокно все еще<fiber::joinable()>. Даже если вы знаете, что волокно завершено, вы все равно должны позвонить либо<fiber::join()>, либо<fiber::detach()>, прежде чем уничтожить<fiber>объект.
Если<*this>относится к волокну исполнения, экземпляр<fiber::id>, который представляет это волокно. В противном случае возвращается построенный по умолчанию<fiber::id>.
<std::bad_cast>, если<use_scheduling_algorithm()>был назван с подклассом<algorithm_with_properties>с некоторым другим параметром шаблона, чем<PROPS>.
Note:
<algorithm_with_properties<>>обеспечивает способ для закодированного пользователем планировщика связывать расширенные свойства, такие как приоритет, с экземпляром волокна. Этот метод позволяет получить доступ к этим пользовательским свойствам.
НаправляетBoost.Fiberна использование<SchedAlgo>, который должен быть конкретным подклассом<algorithm>, в качестве алгоритма планирования для всех волокон в текущей нити. Приведите все необходимые аргументы<SchedAlgo>конструктора<args>.
Note:
Если вы хотите, чтобы данный поток использовал алгоритм планирования без по умолчанию, сделайте этот вызов потока<use_scheduling_algorithm()>перед любой другойточкой входа Boost.Fiber. Если к тому времени, когда Boost.Fiberдолжен использовать текущий поток, не был установлен планировщик, библиотека создаст по умолчанию<round_robin>пример для этой нити.
<true>Если у планировщика есть волокна, готовые к работе.
Throws:
Ничего.
Note:
Может использоваться для кражи работы, чтобы найти праздный планировщик.
Статья Class fiber раздела Chapter 1. Fiber Fiber management может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.