OpenSCADAWiki: Doc/API/part16 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of Doc/API/part16 from 2009-01-06 10:05:44..

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]