exponenta event banner

resourceReleased

Класс: matlab. DiscreteEventSystem
Пакет: matlab

Действие события при успешном выпуске ресурса

Синтаксис

[entity,event,out1,...] = resourceReleased(obj,storage,entity,resources,tag,in1,...)

Описание

[entity,event,out1,...] = resourceReleased(obj,storage,entity,resources,tag,in1,...) определяет действия события для дискретного события System object™ после успешного освобождения ресурса.

Входные аргументы

развернуть все

Объект системы дискретных событий.

Индекс элемента хранения.

Объект, освобождающий ресурс. Сущность имеет следующие поля:

  • sys (MATLAB structure) состоит из:

    • id (double) - Идентификатор объекта

    • priority (double) - Приоритет объекта

  • data - Данные объекта

Массив структур, указывающий высвобожденные ресурсы.

Тег исполняемого события выпуска ресурса.

Первый ввод данных.

Выходные аргументы

развернуть все

Объект, освобождающий ресурс.

Запланированные события. Использовать matlab.DiscreteEventSystem методы класса для создания событий. Каждое событие имеет следующие поля:

  • type (character vector) - Тип события

  • delay (double) - Задержка перед событием

  • priority (double) - Приоритет события

  • storage (double) - Индекс элемента хранения

  • tag (character vector) - Тег события

  • location (MATLAB structure) - исходное или конечное расположение объекта (см. источник);

Первый вывод данных.

Примеры

развернуть все

Предположим, что объект успешно освобождает ресурсы с запланированным eventReleaseResource метод и тег этого события MyResourceAcquireEvent. Успешное освобождение ресурсов вызывает resourceReleased метод для пересылки объекта на выход.

function [entity,events] = entry(obj, storage, entity, source)
  % On entry, release one resource of type Resource1.
  resRequest = obj.resourceSpecification('Resource1', 1);
  events = obj.eventReleaseResource(resRequest, 'MyResourceAcquireEvent');       
end
        
function [entity,events] = resourceReleased(obj, storage,...  
                            entity, resources, tag)
  % After resource release, forward the entity to the output.                     
  events = obj.eventForward('output', storage, 0.0);
end
Представлен в R2019a