powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по многопоточке
25 сообщений из 161, страница 3 из 7
Вопрос по многопоточке
    #40117159
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rabiter
пропущено...


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


А кто тут не архитектор.. каждый раз из года в год, я создаю пост, успеваю получить несколько конструктивных ответов, и через 5 часов я обнаруживаю себя спорящим с вами на какие-то вообще не имеющие отношения к топику темы. Где, кстати, blazkowicz? Он всегда по делу писал...
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117160
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас метод дает лист будущих переходов.
Если юзверь свернул с листа то кеш протух и его аннулировать. Делать новый лист.
На 5 юзверей пихать доки в сессию и не мудрить.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117161
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rabiter
Ну разве не очевидно? Один пользователь может занять все потоки собой, а другие будут лапу сосать.
нет. Каким образом выше метод может выдать лист на миллион документов?
Подробнее.


Зачем на миллион? достаточно 50. На 50 легко, документы могут быть прилинкованы к другим документам, иметь связи, вот по этим связям пользователь и будет ходить. 50 потоков бах ему одному, не жирно?
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117162
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
не имеющие отношения к топику темы
дак таких миллион!
Прогер захотел потоки. Ему сказали не нужно. Но он пошел делать все равно.
Так?)))
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117163
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
У вас метод дает лист будущих переходов.
Если юзверь свернул с листа то кеш протух и его аннулировать. Делать новый лист.
На 5 юзверей пихать доки в сессию и не мудрить.


вы типичный представитель русского IT форума, вы не советуете, вы говорите "топикстартер - унылый тупица, я весь в белом пальто тут только". Так дело не пойдет. Вопрос, который я тут задал, он вообще не про это, там я конкретно написал, что нам нужно в данной ситуации. У нас тут может все надо менять и переписывать, думаете я не знаю? Но конкретно сейчас мне надо решить эту задачу, зачем вы уводите в сторону так далеко?
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117164
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
blazkowicz? Он всегда по делу писал...
глупо ходить в больницу и требовать в окошке профессора медицины.
Хочу блазковича!
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117165
rabiterЯ тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут
я если вижу что пост от петро, то стараюсь даже не читать. Просто пропускай их. Иначе все темы захламляются. Я не видел еще ни одной темы где бы он что-то адекватное (да что там - хотя бы просто в тему) написал.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117166
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rabiter
не имеющие отношения к топику темы
дак таких миллион!
Прогер захотел потоки. Ему сказали не нужно. Но он пошел делать все равно.
Так?)))


вы сейчас про кого?
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117167
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
топикстартер - унылый тупица
цитату!
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117168
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
rabiterЯ тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут
я если вижу что пост от петро, то стараюсь даже не читать. Просто пропускай их. Иначе все темы захламляются. Я не видел еще ни одной темы где бы он что-то адекватное (да что там - хотя бы просто в тему) написал.

О, спасибо, добрый человек! 😁 лучик здравого смысла, я тут увяз просто как-то не заметно для себя) все, я пошел
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117169
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,
Вот и станислав-стас подтянулся.
Дак кто флудит?
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117171
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,
Удачи вам со стасом!
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117175
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
PetroNotC Sharp
пропущено...
нет. Каким образом выше метод может выдать лист на миллион документов?
Подробнее.


Зачем на миллион? достаточно 50. На 50 легко, документы могут быть прилинкованы к другим документам, иметь связи, вот по этим связям пользователь и будет ходить. 50 потоков бах ему одному, не жирно?
тока прочитал. Хммм... ты даже не врубаешься что надо ограничивать не пул потоков AppServera а просто твой алгоритм
Код: java
1.
List<String> IDnext = getReadDOC(IDcurrent)


Так как пул на 10 потоков спокойно обслужит тогда твои списки названий документов 1-2 уровня по урл.
Разумеется список не должен расти пока юзверь серфит налево и направо.
Свернул с дорожки - обнулил список.
А ты - "жирно"\"не жирно"
))
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117186
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rabiter
пропущено...


Зачем на миллион? достаточно 50. На 50 легко, документы могут быть прилинкованы к другим документам, иметь связи, вот по этим связям пользователь и будет ходить. 50 потоков бах ему одному, не жирно?
тока прочитал. Хммм... ты даже не врубаешься что надо ограничивать не пул потоков AppServera а просто твой алгоритм
Код: java
1.
List<String> IDnext = getReadDOC(IDcurrent)


Так как пул на 10 потоков спокойно обслужит тогда твои списки названий документов 1-2 уровня по урл.
Разумеется список не должен расти пока юзверь серфит налево и направо.
Свернул с дорожки - обнулил список.
А ты - "жирно"\"не жирно"
))


Нет, если надо обработать 50 документов, то я должен все 50 обработать. К слову, их может быть и 100 и больше, но не тысячи. Ничего обрубать нельзя - требование заказчика. Пользователь довольно долго может сидеть и втыкать в первый документ. Пока остальные как раз загружаются. Из тех 50 или 100 документов, он может следующим выбрать не обязательно первый, а, скажем, 37й, для примера. Если пользователь сворачивает с дорожки, то те документы, которые еще не обработаны - убираются с обработки. Те, которые уже были обработаны, они остаются, так что если пользователь вернется опять к ним, то у него все быстро отобразится.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117191
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем должен быть как блокирующий метод, типа ensureDocumentProcessed(id)
так и асинхронный типа ensureDocumentsProcessed(Collection<String> ids)
И при этом исключена "двойная" обработка одгого и того же документа.
Я думаю, завяжусь на ConcurrentHashMap с ее computeIfAbsent для блокирующего метода.
Ну а для асинхронного там надо локи будет как-то использовать, я потом могу скинуть что получится у меня в итоге, если интересно.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117194
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,
опять юз кейс
- первый заход на документ 35
List<String> IDnext = getReadDOC(35)
36,37,......445, 446
Итого 50100 вариантов следующего шага.
Так?
Если след. шаг и он кликнул не на 446-ой а на тот что нет в списке?
get ?=999
List<String> IDnext = getReadDOC(999)
СТАРЫЙ СПИСОК НАДО ОБНУЛИТЬ. НАФИГ ЕГО ГРУЗИТЬ?
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117195
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
Привем должен быть как блокирующий метод, типа ensureDocumentProcessed(id)
так и асинхронный типа ensureDocumentsProcessed(Collection<String> ids)
нельзя бежать программировать как стас пока не ясно ТЗ и подводные камни решений.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117197
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rabiter,
опять юз кейс
- первый заход на документ 35
List<String> IDnext = getReadDOC(35)
36,37,......445, 446
Итого 50100 вариантов следующего шага.
Так?
Если след. шаг и он кликнул не на 446-ой а на тот что нет в списке?
get ?=999
List<String> IDnext = getReadDOC(999)
СТАРЫЙ СПИСОК НАДО ОБНУЛИТЬ. НАФИГ ЕГО ГРУЗИТЬ?


Из того, что уже загружено - ничего не надо обнулять. Лишь поставленные в очередь на обработку надо отменить.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117198
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

ну все верно, каждый раз, когда пользователь выбирает новый документ, мы начинаем грузить новое множество согласно новому выбранному документу. Старую загрузку отменяем (ну то, что загрузили - то уже не удаляем с диска)
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117200
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

просто если я тупо буду брать из пула сервера потоки на это, понятно же в чем загвоздка?

Код: java
1.
2.
3.
- первый заход на документ 35
List<String> IDnext = getReadDOC(35)
36,37,......445, 446



если все потоки дать ему, то это будет больше 400 - понятно, что надо ограничить каким-то числом N
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117201
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
PetroNotC Sharp,

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

замечательно.
Все верно!
То есть список не растет в геометрической прогрессии а ограничиваем логикой и ресурсами или местом для локальных файлов.
Итого выше я сказал - ПОТОКИ САМИ НЕ ОГРАНИЧИВАЕМ. ОБЫЧНЫЙ ПУЛ С ОБЫЧНОЙ НАСТРОЙКОЙ maxThread
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117202
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter
если все потоки дать ему, то это будет больше 400 - понятно, что надо ограничить каким-то числом N

не потоки а задачи. И он справится.
2 потока на 2 ядра скопируют файлы быстрее чем 20 потоков.
Абстрактно.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117203
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,
самое сложное тут алгоритм кеша.
От него зависит всё.
Делай тест с простым пулом и не парь мозги.
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117204
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
rabiter
если все потоки дать ему, то это будет больше 400 - понятно, что надо ограничить каким-то числом N

не потоки а задачи. И он справится.
2 потока на 2 ядра скопируют файлы быстрее чем 20 потоков.
Абстрактно.


Так сколько потоков давать? два?
...
Рейтинг: 0 / 0
Вопрос по многопоточке
    #40117207
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rabiter,
по умолчанию столько сколько есть.
Ну как пример - 300-350 для нагр проекта (def 150) /opt/tomcat/conf/server.xml
...
Рейтинг: 0 / 0
25 сообщений из 161, страница 3 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по многопоточке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]