OpenSCADAWiki: Doc/API/part16 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/API/part16 from 2011-04-08 09:49:23..

16. Ресурсы в системе OpenSCADA (Res, ResAlloc, AutoHD)

Большинство узлов и подсистем системы OpenSCADA являются динамическими, т.е. допускают создание/удаление/конфигурацию в процессе функционирования системы. Учитывая многопоточность системы, данная функциональность накладывает жесткие требования к синхронизации потоков. Для синхронизации в системе используются ресурсы, функции которых локализованы в объектах <Res> и <ResAlloc>. Объект <Res> предоставляет хранилище ресурса, предусматривающего функции захвата/освобождения на чтение и запись. В объекте <ResAlloc> реализованы функции автоматического освобождения ресурса. Автоматический ресурс подразумевает создание локального объекта ресурса с автоматическим его освобождением при разрушении (в деструкторе). Использование автоматических ресурсов значительно упрощает работу с ресурсами при использовании исключений.


Любой динамический объект системы наследуется от объекта TCntrNode, который содержит механизм подключения через шаблон AutoHD. Основной функцией шаблона является хранение ссылки на объект и захват ресурса, исключающего удаление объекта на момент использования. Шаблон поддерживает копирование ресурса и автоматическое его освобождение в случае разрушения объекта шаблона. Для наглядности доступа к объектам порождённым от TCntrNode шаблон AutoHD поддерживает приведение типов, основанное на динамическом приведении.

16.1. Объект ресурса (Res)

Публичные методы:

16.2. Объект ресурса (ResAlloc)

Публичные методы:

16.3. Шаблон (AutoHD)

Публичные методы:

16.4. Объект строки с доступом, разделённым ресурсом (ResString)

Публичные методы:


Публичные атрибуты:


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]