Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Namespace this_fiber

Boost , Chapter 1. Fiber , Fiber management

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

В общем, операции<this_fiber>могут быть вызваны из& #8220;основной& #8221;волокна & #8212; волокна, на котором введена функция<main()>& #8212; а также из явно запущенной нити & #8217. То есть во многих отношениях основное волокно на каждой нити можно рассматривать как явно запущенное волокно.

namespace boost {
namespace this_fiber {
fibers::fiber::id get_id() noexcept;
void yield() noexcept;
template< typename Clock, typename Duration >
void sleep_until( std::chrono::time_point< Clock, Duration > const&);
template< typename Rep, typename Period >
void sleep_for( std::chrono::duration< Rep, Period > const&);
template< typename PROPS >
PROPS & properties();
}}

Non-member function this_fiber::get_id()

#include <boost/fiber/operations.hpp>
namespace boost {
namespace fibers {
fiber::id get_id() noexcept;
}}

Returns:

Пример<fiber::id>, который представляет собой исполняющееся в настоящее время волокно.

Throws:

Ничего.

Non-member function this_fiber::sleep_until()

#include <boost/fiber/operations.hpp>
namespace boost {
namespace fibers {
template< typename Clock, typename Duration >
void sleep_until( std::chrono::time_point< Clock, Duration > const& abs_time);
}}

Effects:

Приостанавливает текущее волокно до достижения точки времени, указанной<abs_time>.

Throws:

Исключения, связанные с тайм-аутом.

Note:

До<abs_time>текущее волокно не возобновится, но нет никаких гарантий того, как скоро после<abs_time>оно может возобновиться.

Note:

& #8220;исключения, связанные с тайм-аутом& #8221;, как определено в стандарте C++, раздел30.2.4 Сроки спецификаций [thread.req.timing]:& #8220;Функция, которая принимает аргумент, который определяет тайм-аут, будет бросать, если во время его выполнения часы, точка времени или продолжительность времени бросает исключение. Такие исключения называютсяисключениями, связанными с тайм-аутом.& #8221;

Non-member function this_fiber::sleep_for()

#include <boost/fiber/operations.hpp>
namespace boost {
namespace fibers {
template< class Rep, class Period >
void sleep_for( std::chrono::duration< Rep, Period > const& rel_time);
}}

Effects:

Приостанавливает текущее волокно до истечения срока, указанного<rel_time>.

Throws:

Исключения, связанные с тайм-аутом.

Note:

Нынешнее волокно не возобновится до истечения<rel_time>, но нет никаких гарантий того, как скоро после этого оно может возобновиться.

Non-member function this_fiber::yield()

#include <boost/fiber/operations.hpp>
namespace boost {
namespace fibers {
void yield() noexcept;
}}

Effects:

Обеспечивает контроль исполнения, позволяя другим волокнам работать.

Throws:

Ничего.

Note:

Волокно, которое вызывает<yield()>, не подвешивается: оно немедленно передается планировщику как готовое к запуску.

Non-member function this_fiber::properties()

#include <boost/fiber/operations.hpp>
namespace boost {
namespace fibers {
template< typename PROPS >
PROPS & properties();
}}

Preconditions:

<use_scheduling_algorithm()>был вызван из этой нити с подклассом<algorithm_with_properties<>>с тем же шаблонным аргументом<PROPS>.

Returns:

ссылка на пример свойств планировщика для текущего волокна.

Throws:

<std::bad_cast>если<use_scheduling_algorithm()>был вызван с<algorithm_with_properties>подклассом с некоторым другим параметром шаблона, чем<PROPS>.

Note:

<algorithm_with_properties<>>обеспечивает способ для закодированного пользователем планировщика связать расширенные свойства, такие как приоритет, с экземпляром волокна. Эта функция позволяет получить доступ к этим пользовательским свойствам.

Note:

В первый раз, когда эта функция называется из основного волокна нити, она может внутренне выдавать, позволяя другим волокнам работать.

See also:

Настройка


PrevUpHomeNext

Статья Namespace this_fiber раздела Chapter 1. Fiber Fiber management может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Fiber management ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:27:04/0.0040519237518311/0