Класс: 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.
Когда сущность вводит запоминающий элемент, она получает ресурсы. Сущность получает один ресурс типа 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
cancelAcquireResource | eventAcquireResource | eventForward | eventReleaseResource | getResourceNamesImpl | matlab.DiscreteEventSystem | resourceAcquired