|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter пропущено... но это не важно, вопрос вообще не в этом, вы все время уводите в сторону, на протяжении уже многих лет. Я тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут Я выше вам дал юзкейс и решение. Вы молчите)))) А кто тут не архитектор.. каждый раз из года в год, я создаю пост, успеваю получить несколько конструктивных ответов, и через 5 часов я обнаруживаю себя спорящим с вами на какие-то вообще не имеющие отношения к топику темы. Где, кстати, blazkowicz? Он всегда по делу писал... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:59 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
У вас метод дает лист будущих переходов. Если юзверь свернул с листа то кеш протух и его аннулировать. Делать новый лист. На 5 юзверей пихать доки в сессию и не мудрить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:00 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Ну разве не очевидно? Один пользователь может занять все потоки собой, а другие будут лапу сосать. Подробнее. Зачем на миллион? достаточно 50. На 50 легко, документы могут быть прилинкованы к другим документам, иметь связи, вот по этим связям пользователь и будет ходить. 50 потоков бах ему одному, не жирно? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:00 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter не имеющие отношения к топику темы Прогер захотел потоки. Ему сказали не нужно. Но он пошел делать все равно. Так?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:02 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp У вас метод дает лист будущих переходов. Если юзверь свернул с листа то кеш протух и его аннулировать. Делать новый лист. На 5 юзверей пихать доки в сессию и не мудрить. вы типичный представитель русского IT форума, вы не советуете, вы говорите "топикстартер - унылый тупица, я весь в белом пальто тут только". Так дело не пойдет. Вопрос, который я тут задал, он вообще не про это, там я конкретно написал, что нам нужно в данной ситуации. У нас тут может все надо менять и переписывать, думаете я не знаю? Но конкретно сейчас мне надо решить эту задачу, зачем вы уводите в сторону так далеко? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:04 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter blazkowicz? Он всегда по делу писал... Хочу блазковича! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:04 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiterЯ тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут я если вижу что пост от петро, то стараюсь даже не читать. Просто пропускай их. Иначе все темы захламляются. Я не видел еще ни одной темы где бы он что-то адекватное (да что там - хотя бы просто в тему) написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:04 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter не имеющие отношения к топику темы Прогер захотел потоки. Ему сказали не нужно. Но он пошел делать все равно. Так?))) вы сейчас про кого? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:04 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter топикстартер - унылый тупица ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:05 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev rabiterЯ тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут О, спасибо, добрый человек! 😁 лучик здравого смысла, я тут увяз просто как-то не заметно для себя) все, я пошел ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:06 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Вот и станислав-стас подтянулся. Дак кто флудит? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:06 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Удачи вам со стасом! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:07 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp пропущено... нет. Каким образом выше метод может выдать лист на миллион документов? Подробнее. Зачем на миллион? достаточно 50. На 50 легко, документы могут быть прилинкованы к другим документам, иметь связи, вот по этим связям пользователь и будет ходить. 50 потоков бах ему одному, не жирно? Код: java 1.
Так как пул на 10 потоков спокойно обслужит тогда твои списки названий документов 1-2 уровня по урл. Разумеется список не должен расти пока юзверь серфит налево и направо. Свернул с дорожки - обнулил список. А ты - "жирно"\"не жирно" )) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 19:52 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter пропущено... Зачем на миллион? достаточно 50. На 50 легко, документы могут быть прилинкованы к другим документам, иметь связи, вот по этим связям пользователь и будет ходить. 50 потоков бах ему одному, не жирно? Код: java 1.
Так как пул на 10 потоков спокойно обслужит тогда твои списки названий документов 1-2 уровня по урл. Разумеется список не должен расти пока юзверь серфит налево и направо. Свернул с дорожки - обнулил список. А ты - "жирно"\"не жирно" )) Нет, если надо обработать 50 документов, то я должен все 50 обработать. К слову, их может быть и 100 и больше, но не тысячи. Ничего обрубать нельзя - требование заказчика. Пользователь довольно долго может сидеть и втыкать в первый документ. Пока остальные как раз загружаются. Из тех 50 или 100 документов, он может следующим выбрать не обязательно первый, а, скажем, 37й, для примера. Если пользователь сворачивает с дорожки, то те документы, которые еще не обработаны - убираются с обработки. Те, которые уже были обработаны, они остаются, так что если пользователь вернется опять к ним, то у него все быстро отобразится. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:29 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Причем должен быть как блокирующий метод, типа ensureDocumentProcessed(id) так и асинхронный типа ensureDocumentsProcessed(Collection<String> ids) И при этом исключена "двойная" обработка одгого и того же документа. Я думаю, завяжусь на ConcurrentHashMap с ее computeIfAbsent для блокирующего метода. Ну а для асинхронного там надо локи будет как-то использовать, я потом могу скинуть что получится у меня в итоге, если интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:34 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, опять юз кейс - первый заход на документ 35 List<String> IDnext = getReadDOC(35) 36,37,......445, 446 Итого 50100 вариантов следующего шага. Так? Если след. шаг и он кликнул не на 446-ой а на тот что нет в списке? get ?=999 List<String> IDnext = getReadDOC(999) СТАРЫЙ СПИСОК НАДО ОБНУЛИТЬ. НАФИГ ЕГО ГРУЗИТЬ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:35 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Привем должен быть как блокирующий метод, типа ensureDocumentProcessed(id) так и асинхронный типа ensureDocumentsProcessed(Collection<String> ids) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:37 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, опять юз кейс - первый заход на документ 35 List<String> IDnext = getReadDOC(35) 36,37,......445, 446 Итого 50100 вариантов следующего шага. Так? Если след. шаг и он кликнул не на 446-ой а на тот что нет в списке? get ?=999 List<String> IDnext = getReadDOC(999) СТАРЫЙ СПИСОК НАДО ОБНУЛИТЬ. НАФИГ ЕГО ГРУЗИТЬ? Из того, что уже загружено - ничего не надо обнулять. Лишь поставленные в очередь на обработку надо отменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:39 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, ну все верно, каждый раз, когда пользователь выбирает новый документ, мы начинаем грузить новое множество согласно новому выбранному документу. Старую загрузку отменяем (ну то, что загрузили - то уже не удаляем с диска) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:42 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, просто если я тупо буду брать из пула сервера потоки на это, понятно же в чем загвоздка? Код: java 1. 2. 3.
если все потоки дать ему, то это будет больше 400 - понятно, что надо ограничить каким-то числом N ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:44 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp, ну все верно, каждый раз, когда пользователь выбирает новый документ, мы начинаем грузить новое множество согласно новому выбранному документу. Старую загрузку отменяем (ну то, что загрузили - то уже не удаляем с диска) замечательно. Все верно! То есть список не растет в геометрической прогрессии а ограничиваем логикой и ресурсами или местом для локальных файлов. Итого выше я сказал - ПОТОКИ САМИ НЕ ОГРАНИЧИВАЕМ. ОБЫЧНЫЙ ПУЛ С ОБЫЧНОЙ НАСТРОЙКОЙ maxThread ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:46 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter если все потоки дать ему, то это будет больше 400 - понятно, что надо ограничить каким-то числом N не потоки а задачи. И он справится. 2 потока на 2 ядра скопируют файлы быстрее чем 20 потоков. Абстрактно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:49 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, самое сложное тут алгоритм кеша. От него зависит всё. Делай тест с простым пулом и не парь мозги. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:50 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter если все потоки дать ему, то это будет больше 400 - понятно, что надо ограничить каким-то числом N не потоки а задачи. И он справится. 2 потока на 2 ядра скопируют файлы быстрее чем 20 потоков. Абстрактно. Так сколько потоков давать? два? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:52 |
|
|
start [/forum/topic.php?fid=59&msg=40117194&tid=2120295]: |
0ms |
get settings: |
3ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
25ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
380ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 721ms |
0 / 0 |