Синхросекции автоматизируют процесс входа и выхода из синхропространства. В конструкторе синхросекций обычно производится вход в реентерабельном режиме, а в деструкторе - выход из синхропространства в реентерабельном режиме.
Использование синхросекций повышает удобство (для входа/выхода требуется написать только 1 строку кода) и надежность (выход из синхропространства будет произведен в любом случае, в т.ч. и при исключении).
Объекты синхросекций содержат ссылочные указатели на синхрообъекты или на синхропространства (IBasicSynchro), в которые произведен вход. Если синхросекция не используется для входа, то указатель на синхропространство равен NULL.
Данный класс не поддерживает многопоточность.
См. определение в файле ReentrantSync.h строка 33
Открытые члены | |
ReentrantSync () | |
Конструктор по умолчанию. | |
ReentrantSync (IBasicSynchro::Ptr Object) | |
Конструктор инициализации IBasicSynchro. | |
template<typename T> | |
ReentrantSync (RefPtr< T > Object) | |
Конструктор инициализации IBasicSynchro. | |
ReentrantSync (const BasicSync &Src) | |
Конструктор копирования. | |
ReentrantSync (const ReentrantSync &Src) | |
Конструктор копирования. | |
~ReentrantSync () | |
Деструктор. | |
ReentrantSync & | operator= (IBasicSynchro::Ptr Object) |
Оператор присвоения IBasicSynchro. | |
template<typename T> | |
ReentrantSync & | operator= (RefPtr< T > Object) |
Оператор присвоения IBasicSynchro. | |
ReentrantSync & | operator= (const BasicSync &Src) |
Оператор копирования. | |
ReentrantSync & | operator= (const ReentrantSync &Src) |
Оператор копирования. | |
void | Set (IBasicSynchro::Ptr Object) |
Установить новое значение Object(). | |
void | Leave () |
Выйти из синхропространства. |
Cntm::ReentrantSync::ReentrantSync | ( | ) | [inline] |
Конструктор по умолчанию.
Инициализирует указатель на IBasicSynchro в NULL и не выполняет никаких действий.
См. определение в файле ReentrantSync.h строка 40
Cntm::ReentrantSync::ReentrantSync | ( | IBasicSynchro::Ptr | Object | ) | [inline] |
Конструктор инициализации IBasicSynchro.
Производится вход в синхропространство, к которому принадлежит синхрообъект, в реентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
Object | - синхрообъект, в синхропространство которого требуется войти в реентерабельном режиме. Он не должен равняться NULL. |
См. определение в файле ReentrantSync.h строка 48
Cntm::ReentrantSync::ReentrantSync | ( | RefPtr< T > | Object | ) | [inline] |
Конструктор инициализации IBasicSynchro.
Производится вход в синхропространство, к которому принадлежит синхрообъект, в реентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
Object | - синхрообъект, в синхропространство которого требуется войти в реентерабельном режиме. Он не должен равняться NULL. |
См. определение в файле ReentrantSync.h строка 61
Cntm::ReentrantSync::ReentrantSync | ( | const BasicSync & | Src | ) | [inline] |
Конструктор копирования.
Если Object() источника не равен NULL, то производится вход в синхропространство в реентерабельном режиме.
Src | - источник, из которого берется Object(). |
См. определение в файле ReentrantSync.h строка 72
Перекрестные ссылки Cntm::BasicSync::Object().
Cntm::ReentrantSync::ReentrantSync | ( | const ReentrantSync & | Src | ) | [inline] |
Конструктор копирования.
Если Object() источника не равен NULL, то производится вход в синхропространство в реентерабельном режиме.
Src | - источник, из которого берется Object(). |
См. определение в файле ReentrantSync.h строка 78
Перекрестные ссылки Cntm::BasicSync::Object().
Cntm::ReentrantSync::~ReentrantSync | ( | ) | [inline] |
Деструктор.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL).
См. определение в файле ReentrantSync.h строка 83
Перекрестные ссылки Leave().
ReentrantSync& Cntm::ReentrantSync::operator= | ( | IBasicSynchro::Ptr | Object | ) | [inline] |
Оператор присвоения IBasicSynchro.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Производит вход в синхропространство, к которому принадлежит синхрообъект, в реентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
Object | - IBasicSynchro, в синхропространство которого требуется войти в реентерабельном режиме. Он не должен равняться NULL. |
См. определение в файле ReentrantSync.h строка 91
Перекрестные ссылки Set().
ReentrantSync& Cntm::ReentrantSync::operator= | ( | RefPtr< T > | Object | ) | [inline] |
Оператор присвоения IBasicSynchro.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Производит вход в синхропространство, к которому принадлежит синхрообъект, в реентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
Object | - IBasicSynchro, в синхропространство которого требуется войти в реентерабельном режиме. Он не должен равняться NULL. |
См. определение в файле ReentrantSync.h строка 105
Перекрестные ссылки Set().
ReentrantSync& Cntm::ReentrantSync::operator= | ( | const BasicSync & | Src | ) | [inline] |
Оператор копирования.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Если Object() источника не равен NULL, то производится вход в синхропространство в реентерабельном режиме. Object() принимает новое значение.
Если новое синхропространство совпадает со старым, то ни каких действий не выполняется.
Src | - источник, из которого берется Object(). |
См. определение в файле ReentrantSync.h строка 119
Перекрестные ссылки Cntm::BasicSync::Object() и Set().
ReentrantSync& Cntm::ReentrantSync::operator= | ( | const ReentrantSync & | Src | ) | [inline] |
Оператор копирования.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Если Object() источника не равен NULL, то производится вход в синхропространство в реентерабельном режиме. Object() принимает новое значение.
Если новое синхропространство совпадает со старым, то ни каких действий не выполняется.
Src | - источник, из которого берется Object(). |
См. определение в файле ReentrantSync.h строка 127
Перекрестные ссылки Cntm::BasicSync::Object() и Set().
void Cntm::ReentrantSync::Set | ( | IBasicSynchro::Ptr | Object | ) | [inline] |
Установить новое значение Object().
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Если Object() источника не равен NULL, то производится вход в синхропространство в реентерабельном режиме. Object() принимает новое значение.
Если новое синхропространство совпадает со старым, то ни каких действий не выполняется.
Object | - синхропространство, в которое требуется войти в реентерабельном режиме. |
См. определение в файле ReentrantSync.h строка 135
Перекрестные ссылки Leave() и Cntm::BasicSync::Object().
void Cntm::ReentrantSync::Leave | ( | ) | [inline] |
Выйти из синхропространства.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Object() принимает значение NULL.
См. определение в файле ReentrantSync.h строка 145
Перекрестные ссылки Cntm::BasicSync::Object() и Cntm::BasicSync::ResetObject().
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |