![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Boost.Flyweight Documentation - Locking policies referenceBoost , , Boost.Flyweight Documentation - Reference
|
выражение | возвратный тип | утверждение/примечание пред/пост-условие |
---|---|---|
<Mutex m; > | Пост:<m >разблокирован. | |
<(&m)->~Mutex(); > | <void > | Предварительно:<m >Разрешено. | <Lock lk(m); > | Связь<m >с<lk >и замки<m >. |
<void > | Разблокирует мутекс, связанный с<lk >. |
Эти понятия очень похожи, но не полностью эквивалентны омонимам, описанным вБиблиотеке Нити Роста.
Политика блокировкиописывает тип мутекса и связанный с ним тип блокировки.<flyweight
>использует заданную политику блокировки для синхронизации доступа к своему внутреннемузаводу.
Тип<Locking
>является политикой блокировки, если:
is_locking<Locking>::type
boost::mpl::true_
,Locking
имеет формуlocking<Locking'>
.Locking::mutex_type
(илиLocking'::mutex_type
, если применяется (b)) является модельюMutex
и поддерживает рекурсивную блокировку.Locking::lock_type
(илиLocking'::lock_type
, если применяется (b)) являетсяScoped Lock
мутекса, упомянутого выше."boost/flyweight/locking_tag.hpp"
synopsisnamespace boost{ namespace flyweights{ struct locking_marker; template<typename T> struct is_locking template<typename T> struct locking; } // namespace boost::flyweights } // namespace boost
is_locking
Если пользователь не специализируется,<is_locking<T>::type
>является<boost::mpl::true_
>, если<T
>является производным от<locking_marker
>, и это<boost::mpl::false_
>В противном случае.
locking
<locking<T>
>является синтаксической конструкцией, предназначенной для указания на то, что<T
>является политикой блокировки, не прибегая к механизмам, предоставляемым шаблоном класса<is_locking
>.
"boost/flyweight/simple_locking_fwd.hpp"
synopsisnamespace boost{ namespace flyweights{ struct simple_locking; } // namespace boost::flyweights } // namespace boost
<simple_locking_fwd.hpp
>форвард объявляет класс<simple_locking
>.
"boost/flyweight/simple_locking.hpp"
synopsissimple_locking
<Locking Policy
>, который определяет базовый тип мутекса, основанный на простейших механизмах синхронизации, предоставляемых окружающей средой; Когда возможности резьбы отсутствуют,<simple_locking
>указывает тип манекена без фактических возможностей синхронизации.
"boost/flyweight/no_locking_fwd.hpp"
synopsisnamespace boost{ namespace flyweights{ struct no_locking; } // namespace boost::flyweights } // namespace boost
<no_locking_fwd.hpp
>форвард объявляет класс<no_locking
>.
"boost/flyweight/no_locking.hpp"
synopsisno_locking
Нуль<Locking Policy
>: Он определяет тип манекена, который удовлетворяет формальным требованиям для концепции<Mutex
>, но не выполняет блокировку потоков.<no_locking
>должны использоваться только в однопоточной среде.
Пересмотрено 9 марта 2010 года
© Copyright 2006-2010 Joaquín M López Muñoz. Распространяется под лицензией Boost Software License, версия 1.0. (См. сопроводительный файлLICENSE_1_0.txtили копию в) http://www.boost.org/LICENSE_1_0.txt
Статья Boost.Flyweight Documentation - Locking policies reference раздела Boost.Flyweight Documentation - Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Boost.Flyweight Documentation - Reference ::
реклама |