Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен пример работы с интерфейсом java.utils.Queue 
:(
    Опции темы
Wowa
Дата 12.1.2006, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



А как мне можно создать массив очередей? Т.к. очередей у меня по несколько в каждой комнате.
И эти 10 человек должны случайно распределиться по разными очередям в первой комнате. А эти очереди должны быть в массив объеденины.

Далее эти люди по одному выходят из разных очередей в первой комнате и направляются во вторую комнату, а там уже другие очереди smile

Т.е. мне надо создавать два массива очередей smile Для этого нужно указать, какой тип имеет массив. А я не знаю, какой..
PM WWW   Вверх
LSD
Дата 12.1.2006, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



СМО делаешь? smile

Код
ArrayList<ArrayList<Queue>> rooms = new ArrayList<ArrayList<Queue>>();
for(int i = 0; i < 5; i++)
{
  ArrayList<Queue> queues = new ArrayList<Queue> ();
  for(int j = 0; j < 10; j++)
    queues.add(new LinkedList());

  rooms.add(queues);
}
....    
Human human = rooms.get(roomNumber).get(queueNumber).poll();
....
rooms.get(roomNumber).get(queueNumber).offer(human);


Хотя если ты делаешь несколько потоков обработки, и надо ставить человека в наименее загруженные очереди, а брать из самых загруженных. То тут лучше применить другой подход.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Wowa
Дата 12.1.2006, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(LSD @ 12.1.2006, 21:15 Найти цитируемый пост)

СМО делаешь?

А что это такое? smile Вообще, я Яву учу smile

Цитата(LSD @ 12.1.2006, 21:15 Найти цитируемый пост)

Хотя если ты делаешь несколько потоков обработки, и надо ставить человека в наименее загруженные очереди, а брать из самых загруженных. То тут лучше применить другой подход.

Ага, именно так smile
Добавлено @ 23:35
Вот в этой строке:
Цитата(LSD @ 12.1.2006, 21:15 Найти цитируемый пост)

ArrayList<ArrayList<Queue>> rooms = new ArrayList<ArrayList<Queue>>();

Что такое <Queue>? Должно ли это Queue как-то раньше быть определено?
Добавлено @ 23:38
LSD в твоем примере мы имеем 5 комнат, и в каждой по 10 очередей?
PM WWW   Вверх
LSD
Дата 12.1.2006, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Wowa @ 12.1.2006, 23:32 Найти цитируемый пост)
А что это такое?

Система массового обслуживания.
Есть такая дисциплина Исследование Операций и это один из ее подразделов это системы массового обслуживания, почитать можно тут (4-ая глава).

Цитата(Wowa @ 12.1.2006, 23:32 Найти цитируемый пост)
Ага, именно так

Тут уже не все так просто, на выходных накидаю примерчик.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Wowa
Дата 12.1.2006, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: 1
Всего: 290



Цитата(LSD @ 12.1.2006, 21:43 Найти цитируемый пост)

Тут уже не все так просто, на выходных накидаю примерчик.

хорошо, а в двух словах сейчас можно?
PM WWW   Вверх
LSD
Дата 12.1.2006, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Wowa @ 12.1.2006, 23:32 Найти цитируемый пост)
Что такое <Queue>? Должно ли это Queue как-то раньше быть определено?

Это класс java.util.Queue, мы создаем параметризованный ArrayList. Обычный ArrayList может хранить любые объекты (за счет того, что они все приводимы к Object), а параметризованный хранит только те которые приводимы к типу параметра (в данном случае java.util.Queue), об этом немного есть у нас в FAQ.

Цитата(Wowa @ 12.1.2006, 23:32 Найти цитируемый пост)
LSD в твоем примере мы имеем 5 комнат, и в каждой по 10 очередей?

Да.
Добавлено @ 23:58
Цитата(Wowa @ 12.1.2006, 23:48 Найти цитируемый пост)
хорошо, а в двух словах сейчас можно?

Есть некий класс процессор, у него есть указатель на входной процессор и выходной (чтобы организовывать цепочку). У него есть некоторое количество очередей ожидания (они могут иметь фиксированную длинну). И есть некоторое количесво обработчиков (равное количеству очередей), которые способны обработать объект из очереди (обработка занимает некоторое время).
От входного процессора поступает объект, который кладется в наименее загруженную очередь. Как только один из обработчиков заканчивает обработку, обработанный объект передается в выходной процессор. Ну и плюс объекты от которых изначально классы поступают и куда они потом передаоются, соответсвенно начало и конец цепочки.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
LSD
Дата 22.1.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Таки доделал smile

Задокументировано там не очень подробно, но я готов ответить на все вопросы smile GUI там нужен только для демонстрации заполненности очередей (синий - минимальная длинна очереди, красный - максимальная, серый - средняя).
В архиве исходный код и исполняемый jar.

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  QueueingSystem.zip 17,22 Kb


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
batigoal
Дата 23.1.2006, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



А числа под диаграммами - это что? Количество отклоненных запросов при превышении длины очереди?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LSD
Дата 23.1.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Lamer George @ 23.1.2006, 09:15 Найти цитируемый пост)
А числа под диаграммами - это что? Количество отклоненных запросов при превышении длины очереди?

Да, Denial of Service.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1113 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.