Описание понятия синхропространства приведено в SynchroSpace.
Для обработки синхронных задач используются потоки выполнения, отличные от главного потока.
Замечание по реентерабельности. Поскольку реентерабельный вход в данный тип синхропространства невозможен (т.к. отстутствует команда на немедленный запуск выполнения синхронных заданий), то разница между реентерабельным и не реентерабельным режимами отсутствует.
См. определение в файле ExtraSynchroSpace.h строка 32
Открытые типы | |
typedef RefPtr < ExtraSynchroSpace > | Ptr |
Открытые члены | |
ExtraSynchroSpace () | |
Конструктор по умолчанию. | |
void | AddSynchroTask (TaskBase *Task) |
Добавить новую задачу в конец очереди. | |
Защищенные члены | |
void | DoEnter () |
Выполнить вход в критическую секцию, связанную с синхропространством. | |
bool | DoTryEnter () |
Выполнить вход в критическую секцию, связанную с синхропространством. | |
void | DoLeave () |
Выполнить вход в критическую секцию, связанную с синхропространством. |
Переопределяет метод предка Cntm::SynchroSpace.
См. определение в файле ExtraSynchroSpace.h строка 36
Cntm::ExtraSynchroSpace::ExtraSynchroSpace | ( | ) | [inline] |
void Cntm::ExtraSynchroSpace::AddSynchroTask | ( | TaskBase * | Task | ) |
Добавить новую задачу в конец очереди.
Объект задачи д.б. создан в динамической памяти. После выполнения задача автоматически будет удалена. Класс объекта задачи д.б. унаследован от Cntm:: SynchroSpace:: TaskBase.
Подробнее о синхрозадачах см. описание класса SynchroSpace и SynchroSpace::TaskBase.
Система гарантирует, что задача будет выполнена в контексте главного потока синхронно с прочими событиями библиотеки QT.
NullArgException | если не указана задача. |
См. определение в файле ExtraSynchroSpace.cpp строка 17
Перекрестные ссылки Cntm::SynchroSpace::TaskQueue::Add(), Cntm::RefPtr< T >::SetNull() и Cntm::SpecUtils::SysThread::Start().
void Cntm::ExtraSynchroSpace::DoEnter | ( | ) | [inline, protected, virtual] |
Выполнить вход в критическую секцию, связанную с синхропространством.
Вызывает QApplication::lock().
Замещает Cntm::SynchroSpace.
См. определение в файле ExtraSynchroSpace.h строка 59
Перекрестные ссылки Cntm::SpecUtils::SysCriticalSection::Enter().
bool Cntm::ExtraSynchroSpace::DoTryEnter | ( | ) | [inline, protected, virtual] |
Выполнить вход в критическую секцию, связанную с синхропространством.
Вызывает QApplication::tryLock().
Замещает Cntm::SynchroSpace.
См. определение в файле ExtraSynchroSpace.h строка 64
Перекрестные ссылки Cntm::SpecUtils::SysCriticalSection::TryEnter().
void Cntm::ExtraSynchroSpace::DoLeave | ( | ) | [inline, protected, virtual] |
Выполнить вход в критическую секцию, связанную с синхропространством.
Вызывает QApplication::unlock().
Замещает Cntm::SynchroSpace.
См. определение в файле ExtraSynchroSpace.h строка 69
Перекрестные ссылки Cntm::SpecUtils::SysCriticalSection::Leave().
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |