resourceSpecification

Класс: mATLAB.
Пакет: mATLAB

Создайте спецификации для приобретения ресурса или события релиза ресурса

Синтаксис

resRequest = resourceSpecification(resource,amount)

Описание

resRequest = resourceSpecification(resource,amount) задает имена и сумму ресурсов для eventAcquireResource или запросов eventReleaseResource.

Например, этот код задает один модуль Resource1 и два модуля Resource2.

resRequest = obj.resourceSpecification('Resource1', 1);
resRequest = [resReq obj.resourceSpecification('Resource2', 2)];

Если вы задаете сумму для eventReleaseResource, больше, чем сумма, которая была получена ранее, все ранее полученные средства высвобождены.

Например, предположите, что сущность ранее получила три ресурса типа Resource1 и четыре ресурса типа Resource2. Этот код задает суммы для eventReleaseResource.

resRequest = obj.resourceSpecification('Resource1', 2);
resRequest = [resReq obj.resourceSpecification('Resource2', 5)];
     event = eventReleaseResource(resReq, ‘relinquish’);

После релиза сущность имеет один ресурс типа Resource1 и нулевые ресурсы типа Resource2.

Можно задать релиз всех ранее полученных ресурсов при помощи eventReleaseAllResources.

Входные параметры

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

Задайте имя ресурсов для eventAcquireResource или запросов eventReleaseResource. Можно задать больше чем один ресурс.

Задайте сумму ресурсов для eventAcquireResource или запросов eventReleaseResource.

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

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

Запрос ресурса о приобретении или событии релиза, заданном как вектор структур MATLAB.

Примеры

Когда сущность вводит запоминающий элемент, она получает ресурсы. Сущность получает один ресурс типа Resource1 и один ресурс типа Resource2, которые заданы как спецификации. Спецификации затем используются для eventAcquireResource с тегом MyResourceAcquireEvent.

  function [entity,events] = entry(obj, storage, entity, source)
            % On entry, acquire one resource of type Resource1 and one resource of type Resource2.
            resRequest(1) = obj.resourceSpecification('Resource1', 1);
            resRequest(2) = obj.resourceSpecification('Resource2', 1);
            events = obj.eventAcquireResource(resRequest, 'MyResourceAcquireEvent');       
  end

Введенный в R2019a