Можно ли программно добавить агент в качестве ресурса в пул ресурсов? - PullRequest
0 голосов
/ 08 июля 2020

Что я пытаюсь сделать: Я хочу создать агент в одном процессе, а в конце процесса добавить его в пул ресурсов, чтобы другой процесс мог его подобрать и обработать это дальше. Два процесса не синхронизированы, поэтому первый процесс может завершить и поместить новый агент в пул без выполнения второго процесса, чтобы снова захватить его из пула и продолжить обработку, или второй процесс может запуститься первым и войти в состояние ожидания в пул, ожидающий размещения нового агента в пуле. Пул также может быть инициализирован несколькими агентами, которые второй процесс может захватить без того, чтобы первый процесс поместил новый ресурс в пул.

Что я вижу в документации:

  1. Я не вижу в классе пула ресурсов метода, позволяющего добавлять / удалять из пула. (Кажется, вы определяете только емкость, а затем движок динамически новые ресурсы, если запрошены до определенной емкости)
  2. Я могу использовать коллекцию для хранения и извлечения агентов, но встроенная очередь для , и переоценка при добавлении одного из пула очень удобна (иначе я должен подключить это сам)

Любые предложения будут высоко оценены

1 Ответ

0 голосов
/ 09 июля 2020

Вы можете изменить емкость ResourcePool только с помощью myPool.set_Capacity(int).

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

Чтобы добавить еще 1, позвоните по номеру myPool.set_Capacity(myPool.size()+1)

Если вам нужны более продвинутые функции, вы должны создать их самостоятельно, используя свой собственный пул ресурсов на основе агента (т.е. код самостоятельно).

...