Суббота, 18.05.2024, 14:13
Приветствую Вас Гость

Разработка игр c использованием JPCT

Каталог статей

Главная » Статьи » Разработка игр » Разное

Посредник
    
   В данной статье будет описан класс посредника необходимый для асинхронного связывания между  собой всех подсистем игрового движка. Он написан с использование библиотеки java.util.concurent(ConcurrentMap<V>,  ArrayBlockingQueue<V>, FixedThreadPool, SingleThreadExecutor).
   Его реализация включается в себя классы Manager, Subscriber, Message. Класс Manager реализует посредника в нем осуществляется вся работа по отправке и маршрутизации сообщений между Подписчиками, Subscriber  реализует методы необходимые для роботы подписчика(подписка на сообщения и реакция на полученные сообщения), Message это собственно сообщения которыми обмениваются Подписчики ничего не зная о друг друге. 

   Общая архитектура взаимодействия представлена на рисунке ниже.

   Логика работы заключается в следующем:
1) Подписчик подписывается у посредника(Subscriber) на сообщения(Message) в качестве ключа используется ID сообщения, или группы сообщений.
2) Посредник при получении сообщения, помещает его в буфер FIFO.
3) Обработчик сообщений забирает сообщения из буфера и запускает задачу в рамках которой он просматривает дерево подписчиков и вызывает для каждого подписчика метод notify(Message msg), каждая задача запускается в отдельном потоке.

   При инициализации Посредника ему указывается размер буфера, время ожидания следующей попытки добавления сообщения в буфер в том  случае если он переполнен, а также размер пула потоков для обработчика сообщений. Параметры указываемые при инициализации Посредника очень важны т.к. если размер буфера будет слишком мал или обработчики будут не успевать обрабатывать сообщения то произойдет падение производительности. Их необходимо подбирать исходя из того насколько длительным по времени исполнения будет метод notify.
   Код всех классов расположен Доступно только для пользователей
Категория: Разное | Добавил: Gram01 (28.02.2014)
Просмотров: 454 | Теги: mediator, java.util.concurent | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Категории раздела
JPCT [11]
Раздел о разработке игр на устройства работающие не под управлением Android'а
Сеть [2]
Раздел по вопросам касающимся сетевого взаимодействия приложений на java в контексте разработки игр
Контент [0]
Статьи о работе к контентом при разработки игр
Скрипты [2]
использование скриптов в игровом движке
Разное [1]
различные материалы о разработке игрового движка
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    Copyright Неведомый Р.А. © 2024 | Рейтинг@Mail.ru