|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Ребят, вопрос возник такой. В многопоточке я не особо силен, но иногда задачки попадаются, которые надо решать. Вот сейчас такая проблемка. Окружение Java EE, при нажатии кнопки пользователем надо обработать параллельно N задач, но потоков можно задействовать не больше M штук, причем потоков может быть меньше, чем задач, тогда первый освободившийся поток берет следующую задачу и так далее. Если задачи кончились, то поток возвращается в пул сервера. Причем пользователь может во время всего этого еще раз нажать кнопку и добавить еще сколько-то задач в этот же пул задач. Тогда, если часть потоков уже вернулись в пул, мне надо их опять запустить на обработку (но в сумме все равно не должно быть больше M рабочих потоков). Собственно такая задача, так как я сижу на Java EE, я могу стартовать асинхронный метод через @Asynchronous. Помимо этого могу использовать пул потоков общий серверный (его можно заинжектить как ресурс) Нагрузка не большая, т.е. нормальное поличество задач типа 5 - 10 (не тысячи). Количество потоков - около пяти (не тысячи). Т.е. тут можно смело использовать блокирующие алгоритмы, с точки производительности можно не заморачиваться. Пока у меня простое решение такое: задачи все складывать в thread safe set какой-нибудь (можно взять из ConcurrentHashMap) Количество потоков контроллировать счетчиком AtomicInteger - стартую поток, увеличиваю. Поток завершается (если нет задач) - уменьшаю счетчик. При старте новой пачки задач - проверяю счетчик, не превысил ли он максимума. Если надо - дозапускаю потоки на обработку. Т.е. как-то так. Я в многопоточке не особо. Пару раз прочитал Concurrency in Practice, понимание есть, но практики мало. Посоветуйте, может я велосипед изобретаю? Я бы создал свой пул на M потоков и все дела, но мне для каждого пользователя надо будет создавать такой пул (потому что все пользователи вообще независимы от друг друга и каждый имеет свои потоки). Так как я на Java EE сижу, это не вариант (или?). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 17:44 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Если у тебя на сервере настроен пул задач, то ничего считать и складывать никуда не надо. просто добавляешь новую задачу в пул и всё - он сам разберётся когда её запустить можно будет. Свой пул потоков работает аналогично - запускаешь с нужными настройками и просто добавляешь в него задачи по мере поступления. Для начала - https://habr.com/ru/post/326146 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 17:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Никаких своих коллекций и AtomicInteger'ов не надо. Очередь задач и управление потоками - это все за тебя делает пул, см. java.util.concurrent.Executors. Тебе нужно просто создать еще один пул с M потоками. В Spring @Asynchronous'y можно указать пул, я думаю в JEE то же самое должно быть. Эти потоки - обычно не те же что используются App Server'ом для обработки запросов. rabiterЯ бы создал свой пул на M потоков и все дела, но мне для каждого пользователя надо будет создавать такой пул (потому что все пользователи вообще независимы от друг друга и каждый имеет свои потоки).Пул потоков не должен быть у каждого пользователя свой. Он должен быть общий. Иначе ты никак не будешь контроллировать сколько потоков может создаться в системе и ее легко смогу положить. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 17:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev ... Пул потоков не должен быть у каждого пользователя свой. Он должен быть общий. Иначе ты никак не будешь контроллировать сколько потоков может создаться в системе и ее легко смогу положить. Никогда пулы потоков не понимал. На мой взгляд, какое-то совершенно не гибкое решение. Ну и подозреваю, при пулах так же полно ситуаций, когда "ее легко смогут положить". rabiterПока у меня простое решение такое: задачи все складывать в thread safe set какой-нибудь (можно взять из ConcurrentHashMap) Количество потоков контроллировать счетчиком AtomicInteger - стартую поток, увеличиваю. Поток завершается (если нет задач) - уменьшаю счетчик. При старте новой пачки задач 1. На мой взгляд, переусложнение. Тогда уж брать обычные блокированные thread safe коллекции или самому обернуть методы в synchronized. Прикручивать поверх Concurrent кучу AtomicInteger - тот еще г...но код получиться. 2. Кроме стандартных коллекций, можно найти ряд кастомных (например JCTools). То, что Вам нужно, называется bounded коллекции (с ограничением размеров). Будет и concurrent (точнее lock less или wait free) и самопальные (и скорее всего не корректные) Atomic'и прикручивать не нужно. Но если нагрузка не сильно большая (не миллионы обменов в секунду), то см. п.1 IMHO ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 18:37 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Stanislav Bashkyrtsev ... Пул потоков не должен быть у каждого пользователя свой. Он должен быть общий. Иначе ты никак не будешь контроллировать сколько потоков может создаться в системе и ее легко смогу положить. Никогда пулы потоков не понимал. На мой взгляд, какое-то совершенно не гибкое решение. Ну и подозреваю, при пулах так же полно ситуаций, когда "ее легко смогут положить". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 19:39 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
друзья! всем спасибо за ответы! по поводу общего пула и из него дергать потоки - ну да, это понятно. Я просто хотел еще квоты выдать на каждого пользователя, чтобы он мог из него дернуть, допустим, не больше пяти потоков в рамках своей сессии. Чтобы не получилось так, что один пользователь запустил 100 задач и все остальные сосут лапу. Хотя... когда сервер выдает потоки на обработку запросов (там отдельный пул), он же не смотрит по http сессиям, типа на эту сессию уже выделили 5 потоков, больше ей не давать - он просто выдает потоки и все, и как-то работает. Короче я склоняюсь к тому, что нужен один пул на всех пользователей, нафиг эти квоты. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 20:14 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Пул потоков не должен быть у каждого пользователя свой. Он должен быть общий. Иначе ты никак не будешь контроллировать сколько потоков может создаться в системе и ее легко смогу положить. так я и не хочу вообще потоки сам создавать, я хотел просто брать из пула сервера потоки, но не больше чем N для каждого пользователя ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 20:16 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev В Spring @Asynchronous'y можно указать пул, я думаю в JEE то же самое должно быть. Эти потоки - обычно не те же что используются App Server'ом для обработки запросов. ах, спринг 😸... В JEE такого нельзя, там вообще мало что можно, плюс еще и исходники проблематично посмотреть, потому что для каждого app server они свои) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 20:20 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Stanislav Bashkyrtsev ... Пул потоков не должен быть у каждого пользователя свой. Он должен быть общий. Иначе ты никак не будешь контроллировать сколько потоков может создаться в системе и ее легко смогу положить. Никогда пулы потоков не понимал. На мой взгляд, какое-то совершенно не гибкое решение. Ну и подозреваю, при пулах так же полно ситуаций, когда "ее легко смогут положить". если очередь не забыли ограничить в голову приходит только хитрый кейс если ошибки не отлавливают то поток умирает и пересоздается для каждой новой таски. Количество потоков в пуле не ограничено. Задачи передеваемые в pool не заканчиваются никогда. Дедлоки от зависимых тасок. Но это специфические кейсы. Подскажите еще, будет интересно узнать. Leonid Kudryavtsev rabiterПока у меня простое решение такое: задачи все складывать в thread safe set какой-нибудь (можно взять из ConcurrentHashMap) Количество потоков контроллировать счетчиком AtomicInteger - стартую поток, увеличиваю. Поток завершается (если нет задач) - уменьшаю счетчик. При старте новой пачки задач 1. На мой взгляд, переусложнение. Тогда уж брать обычные блокированные thread safe коллекции или самому обернуть методы в synchronized. Прикручивать поверх Concurrent кучу AtomicInteger - тот еще г...но код получиться. мне наоброт показалось что самое простое решение (за исключением найти готовое), сделать обертку вокруг executor от контейнера со счетчиками per user с expired time. (Хотя выглядет не очень красиво, счетчики еще освобождать нужно как то, да еще и непонятно как) С bounded collection не очень то понятно зачем они нужны. Они вроде как нужны ссылки на таски хранить, но как то не особо по задаче ссылки хранить нужно, об этом executor контейнера сам позаботиться. А вот счетчики нужны. На базе JCTools что ипользоваться чтбы подменить дефолтовый BlockingQueue в ThreadPoolExecutor, непонятно как поскольку контейнер. А если как есть использоваться то кто будет консумером, как executor сделать консумером непонятно еще одну таску запустить чтобы она перекладывала в executor Сам с похожей задачей поскольку постольку сталкивался, но ограчились только одной таской пер user (экспорт генерация файла на лету) и там тупо у пользователя прописывали переменную и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2021, 21:28 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, 5 юзверей? Ты пошутил? Чем тогда контейнер аппсервера не подошел? Его потоки? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 09:39 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Пул потоков не должен быть у каждого пользователя свой. Не слышал о логической схеме и физической в субд? автордобавить еще сколько-то задач в этот же пул задач. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 09:43 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter http сессиям Разве запросы по http не исполняются ПАРАЛЛЕЛЬНО? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 09:54 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, 5 юзверей? Ты пошутил? Чем тогда контейнер аппсервера не подошел? Его потоки? Я не говорю, что я не собираюсь использовать потоки аппсервера. Как раз их-то я и собираюсь использовать. Но я хотел бы еще ввести квоты, чтобы каждому пользователю на обработку его нужд выдавать из этого пула не больше N потоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 12:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Тут два момента 1) выше ты написал нафиг эти квоты 2) юз кейс напиши юзверя. Зачем ЕМУ эти самые квоты. Мне кажется это придумка придумщика программиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:11 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Как раз их-то я и собираюсь использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:13 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, найди спеку Java EE той версии, с которой работать надо. В спеке есть глава, должна быть, в которой описаны ограничения. Ну и следуй им. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:15 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, Тут два момента 1) выше ты написал нафиг эти квоты 2) юз кейс напиши юзверя. Зачем ЕМУ эти самые квоты. Мне кажется это придумка придумщика программиста. Типичный кейс. юзер накликал от злости 100 долгоиграющих тасок. Да через UI можно ограничить но если те кто автоматизировал свою рутину и уних уже апсы написаны которые качают сразу все так что лимиты нужны (на всякий). Поменялось поведение польз0вателся предполагалось что больше одной таски ему не понадобится в связи с новым законодотельством теперь ему нужно 10 тасок запускать(да бакенд здесь не причем но 100 пользователей могут забить канал, cpu) так что плохеет всем. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:16 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming, квоты - это больше о том чтоб деньги пользователи платили за их выделение. А если вопрос стоит только в том чтоб злой пользователь не заблокировал других - так это больше про task scheduling. Т.е. пул все равно один, просто он задачи должен брать в нужном порядке. Это лишь значит что не обычную FIFO коллекцию надо использовать, а какую-то кучу к примеру (PriorityQueue). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:28 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev lleming, квоты - это больше о том чтоб деньги пользователи платили за их выделение. А если вопрос стоит только в том чтоб злой пользователь не заблокировал других - так это больше про task scheduling. Т.е. пул все равно один, просто он задачи должен брать в нужном порядке. Это лишь значит что не обычную FIFO коллекцию надо использовать, а какую-то кучу к примеру (PriorityQueue). Про деньги топикстартер ничего не сказал. Больше выглядет, что ему хочется что таску большую можно разбить и запустить паралельно при этом не абузя других пользователей. Ну он назвал это квотами (оно и выглядет как квоты). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:36 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming PetroNotC Sharp rabiter, Тут два момента 1) выше ты написал нафиг эти квоты 2) юз кейс напиши юзверя. Зачем ЕМУ эти самые квоты. Мне кажется это придумка придумщика программиста. Типичный кейс. юзер накликал от злости 100 долгоиграющих тасок. Да через UI можно ограничить но если те кто автоматизировал свою рутину и уних уже апсы написаны которые качают сразу все так что лимиты нужны (на всякий). Поменялось поведение польз0вателся предполагалось что больше одной таски ему не понадобится в связи с новым законодотельством теперь ему нужно 10 тасок запускать(да бакенд здесь не причем но 100 пользователей могут забить канал, cpu) так что плохеет всем. Во, спасибо! вы меня прекрасно поняли, именно в этом суть. Ну "квоты" слово может не самое удачное, как заметил Stanislav Bashkyrtsev Stanislav Bashkyrtsev lleming, квоты - это больше о том чтоб деньги пользователи платили за их выделение. А если вопрос стоит только в том чтоб злой пользователь не заблокировал других - так это больше про task scheduling. Т.е. пул все равно один, просто он задачи должен брать в нужном порядке. Это лишь значит что не обычную FIFO коллекцию надо использовать, а какую-то кучу к примеру (PriorityQueue). Вы предлагаете расшарить очередь задач между пользователями, наградить ее логикой, чтобы она имплементировала справедливость и приоритезировала задачи. Тут уйма вариантов выстрелить себе в ногу. Луше уж пусть у каждого пользователя будет своя очередь задач (пользователи разграничены через @SessionScoped бины). Но ваша идея отличная, я вообще на вооружение принял. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:52 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
ra-001 rabiter, найди спеку Java EE той версии, с которой работать надо. В спеке есть глава, должна быть, в которой описаны ограничения. Ну и следуй им. Да я ее вдоль и поперек уже всю изучил за 10 лет в этом проекте)) Тут особо нечего изучать, пул есть, потоки берем оттуда, вот и все. Просто я не хочу, чтобы один пользователь взяь больше, чем положено. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
ну более менее я понимаю так. есть настраиваемый threadpool делаем его cachedthreadpool (цифры для примера) допустим 30 max size. делаем квоту в 3 потока на пользователя. Т.е паралельно с тои или иной степерью гарантии 10 пользователей получат свою квоту. Остальные попадут в очередь или делаем ограничение и отбиваем лишние запросы на задачи пока не освободится место для пользователя. Проще всего в реализации не очень в утилизации ресурсов. Т.е. если пользователь всего один в данным момент, то идеально сразу на все свободные потоки закинуть задачи(ну может чуть меньше чтобы запас был всегда). Но тут уже состояние нужно пула отслеживать. Тут уже сложнее реализация. С приорити мне непонятно, каким образом у задачи определить приоритет? Вот пришла таск от пользователя он разбил ее на 5 подчазад и отправил в pool, от второго пришла. Как приоритет определить по какому параметру. Короче тут очень сложно сделать чтобы и утилизация была хорошей и при этом гарантии были. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 13:57 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Конкретнее! Что качают и на что лимиты! Ограничение это последнее дело программиста. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 14:00 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
ЕСЛИ НЕ ОГРАНИЧИВАТЬ, то что ломается аффтар? Больше взял чем положено что?)))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 14:02 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming не очень в утилизации ресурсов. Или прогер скупердяй. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 14:04 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming С приорити мне непонятно, каким образом у задачи определить приоритет? Вот пришла таск от пользователя он разбил ее на 5 подчазад и отправил в pool, от второго пришла. Как приоритет определить по какому параметру. Короче тут очень сложно сделать чтобы и утилизация была хорошей и при этом гарантии были. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 15:01 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev сколько вообще задач этот пользователь запускал за последнюю минуту ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 15:32 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, Конкретнее! Что качают и на что лимиты! Ограничение это последнее дело программиста. Petro, я вас очень люблю, но не разводите пожалуйста флуд в моих постах, пишите по делу или вообще не пишите ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 16:50 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev lleming С приорити мне непонятно, каким образом у задачи определить приоритет? Вот пришла таск от пользователя он разбил ее на 5 подчазад и отправил в pool, от второго пришла. Как приоритет определить по какому параметру. Короче тут очень сложно сделать чтобы и утилизация была хорошей и при этом гарантии были. Это похоже на шедулер OS, тут пока вижу только одно замечание. В ос поток с меньшим приоритетом все равно свой квант получит а тут с priority queue не факт. Т.е. пользователь 1 запустил задачу она разделилась на 100 подзадач 99 выполнились одна осталась. где в конце еще один пользователь запустили свою итого пока его 99 задач не выполнится у первого задача не окончится. То бишь задачи будут иметь тенденцию заканчивать вместе. Пришел самый первый, ушел со всеми. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 17:37 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Раскрою немного деталей. Задачи, которые планируется запускать параллельно - это копирование файлов. Если еще точнее, то у пользователей есть вьювер в браузере какой-то хитрый (к нему у меня доступа нет), так этот вьювер умеет показывать файлы (pdf, tiff, 3d, там много всяких форматов). Но для показа, файл должен лежать в определенной папке в файловом хранилище. Сейчас работает так: Пользователь открывает документ, мы читаем из этого документа файл, сохраняем его на диске, и тогда вьювер его подхватывает. Но это работает медленно, заказчик хочет, чтобы мы заранее обрабатывали пачку следующих документов, которые у пользователя на подходе, т.е. которые он откроет следующие (там специфика работы оператора довольно предсказуемая). Т.е. загрузка заранее так сказать. Так вот их-то и надо запускать в несколько потоков асинхронно. Причем пользователь может вернуться к старому документу, тогда надо избежать повторного копирования. Ну и чтобы пересечений никаких не было, типа чтобы не начали копировать два одинаковых файла одновременно. У меня возникает вопрос теперь а не станет ли файловое хранилище тонким местом? Да и вообще, может NIO попробовать, чтобы потоки вообще не держать пока копируется файл. Не хочется заморачиваться, это код "на окраине" проекта, его раз сделать и забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 17:59 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp rabiter, Конкретнее! Что качают и на что лимиты! Ограничение это последнее дело программиста. Petro, я вас очень люблю, но не разводите пожалуйста флуд в моих постах, пишите по делу или вообще не пишите Что мешает все рассказать о задаче? Если умалчиваете значит специально набрасываете. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:12 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Пользователь открывает документ, мы читаем из этого документа файл, сохраняем его на диске, и тогда вьювер его подхватывает. Но это работает медленно, - вася клиент дал запрос get http//sql.ru?doc=1 - он всегда начинает с первого и потом всегда по списку - первый док отдали за 30 сек. - второй док он не хочет ждать 30сек. Так? ... Тогда вопрос - где тут лимит на потокЮзверя? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:24 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
По моему юзкейсу решение элементарное с заранее создаваемым кешем при каждом входе юзверя. Никаких пулов тут не надо. Один фоновый поток создаст кеш пока юзверь разбирается с первым документом. Ограничение: - бэкенд тормозной - клиент импотент и не может сам запрашиаать по AJAX и делать кеш клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:29 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp По моему юзкейсу решение элементарное с заранее создаваемым кешем при каждом входе юзверя. Никаких пулов тут не надо. Один фоновый поток создаст кеш пока юзверь разбирается с первым документом. Ограничение: - бэкенд тормозной мы не знаем, какой документ пользователь откроет, их 100500, мы не можем все закешировать заранее еще до входа пользователя. Только после того, как пользователь выбирает какой-нибудь документ, мы можем предсказать, какие он кликнет следующие, и вот тут надо начать из загружать заранее в несколько потоков. Сколько документов надо заранее скопировать - мы тоже не знаем, их может быть 5, может быть 100, зависит от того, что нам скажет предсказательный алгоритм. Но вне зависимости от этого, мы должны на эту работу выделить не более N потоков. Причем потоки я сам создавать не буду, я буду их брать из общего пула. Так вот чтобы один пользователь не окупировал весь пул, для этого и нужны "квоты" PetroNotC Sharp - клиент импотент и не может сам запрашиаать по AJAX и делать кеш клиента. То, что в браузере у клиента, всмысле этот вьювер, мы, к сожалению, не можем выбирать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:39 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter мы не знаем, какой документ пользователь откроет, их 100500 rabiter там специфика работы оператора довольно предсказуемая). Т.е. загрузка заранее так сказать. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:41 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter мы не знаем, какой документ пользователь откроет, их 100500 rabiter там специфика работы оператора довольно предсказуемая). Т.е. загрузка заранее так сказать. ? ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:41 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, дайте угадаю, вы просто случайным образом клавиши нажимаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:42 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, имеется ввиду, что мы знаем последовательность, но не знаем количество. И если алгоритм скажет надо 100 закешировать, в такой-то последовательности, то мы должны это сделать, но не более чем N потоками (по описанным выше причинам) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:42 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter предсказательный алгоритм Один пилит пару месяцев предсказатель. Второй менеджер потоков. Третий пишет математику предсказтеля))) А почему документ читаем 30 сек молчим ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:44 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp, имеется ввиду, что мы знаем последовательность, но не знаем количество. И если алгоритм скажет надо 100 закешировать, в такой-то последовательности, то мы должны это сделать, но не более чем N потоками (по описанным выше причинам) мы не знаем, какой документ пользователь откроет ПЕРВЫМ, их 100500 как откроет первый - дальше уже можем предсказывать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:44 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp, дайте угадаю, вы просто случайным образом клавиши нажимаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:45 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter предсказательный алгоритм Один пилит пару месяцев предсказатель. Второй менеджер потоков. Третий пишет математику предсказтеля))) А почему документ читаем 30 сек молчим знали бы вы что у нас за клиент))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:45 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter PetroNotC Sharp, дайте угадаю, вы просто случайным образом клавиши нажимаете? блин я раза три уже описал вам ситуацию, о чем вы ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:45 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter как откроет первый - дальше уже можем предсказывать IDnext= getReadDOC(IDcurrent) Так? Тогда вы сможете только следующий один загрузить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:48 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter как откроет первый - дальше уже можем предсказывать IDnext= getReadDOC(IDcurrent) Так? Тогда вы сможете только следующий один загрузить. грубо говоря Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:50 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter блин я раза три уже описал вам ситуацию, о чем вы ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:51 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp пропущено... IDnext= getReadDOC(IDcurrent) Так? Тогда вы сможете только следующий один загрузить. грубо говоря Код: java 1.
но это не важно, вопрос вообще не в этом, вы все время уводите в сторону, на протяжении уже многих лет. Я тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:53 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter блин я раза три уже описал вам ситуацию, о чем вы Ну разве не очевидно? Один пользователь может занять все потоки собой, а другие будут лапу сосать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:54 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter rabiter пропущено... грубо говоря Код: java 1.
но это не важно, вопрос вообще не в этом, вы все время уводите в сторону, на протяжении уже многих лет. Я тут пишу, и каждый раз я сталкиваюсь с вами, что вы за человек такой зачарованный, я уже не представляю жизни без вас тут Я выше вам дал юзкейс и решение. Вы молчите)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Ну разве не очевидно? Один пользователь может занять все потоки собой, а другие будут лапу сосать. Подробнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 18:57 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#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 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, по умолчанию столько сколько есть. Ну как пример - 300-350 для нагр проекта (def 150) /opt/tomcat/conf/server.xml ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 20:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, по умолчанию столько сколько есть. Ну как пример - 300-350 для нагр проекта (def 150) /opt/tomcat/conf/server.xml нет, не согласен. Вы предлагаете не ограничивать. Может получится, что 50 документов мне надо загрузить, т.е. я если не буду ограничивать, то я выделю из пула 50 потоков на это. Это неэффективно, во первых они будут тупо жать IO от диска который будет зашиваться от такой наглости, во вторых, этих потоков будет не хватать для других целей. Лучше выделить N (2 или 3) и пусть они такой маленькой командой копируют эти 50 файлов. Как раз для этого и нужна настройка N, чтобы можно было откалибровать в рантайме и найти баланс ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:01 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Лучше выделить N (2 или 3) и пусть они такой маленькой командой копируют эти 50 файлов ну дак поставь не в рантайме а в настройках пула админских. Ты прав - это опытным путем. Я тебе выше 2 сказал - тебе не понравилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:12 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter откалибровать в рантайме угу. И инструмент калибровки написать. Еще немного и будет пул шарповый. Там MS сделал крутой алгоритм - само подстраивается под нагрузку. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:14 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Лучше выделить N (2 или 3) и пусть они такой маленькой командой копируют эти 50 файлов ну дак поставь не в рантайме а в настройках пула админских. Ты прав - это опытным путем. Я тебе выше 2 сказал - тебе не понравилось. Т.е. мне на каждого пользователя предлагаете по пулу создать в app server? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:14 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter откалибровать в рантайме угу. И инструмент калибровки написать. Еще немного и будет пул шарповый. Там MS сделал крутой алгоритм - само подстраивается под нагрузку. что за бред... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:15 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter что за бред... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:16 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter что за бред... ну блин, кастомер ставит на свое окружение, у нас такого нет, откуда мы знаем что у него будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:17 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, по умолчанию столько сколько есть. Ну как пример - 300-350 для нагр проекта (def 150) /opt/tomcat/conf/server.xml Такое ощущение что я чтото пропустил. Вроде как нужно в фоне запускать эти задачи. При чем здесь пулы обработки http запросов? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:26 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter ну блин, кастомер ставит на свое окружение, у нас такого нет, откуда мы знаем что у него будет? не понял. А где у вас пароли, адреса, логины, конфиги? Вы обязаны проверить все режимы и написать инструкцию. Какое умолчание в типичном окружении. При каком диске. При каких размерах документов. Конечно если у заказчика фотография 3 на 4 вместо ворд файлов то и загружать будут другие настройки. У вас это костыль! Вы в первом посте сказали! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:27 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming PetroNotC Sharp rabiter, по умолчанию столько сколько есть. Ну как пример - 300-350 для нагр проекта (def 150) /opt/tomcat/conf/server.xml Такое ощущение что я чтото пропустил. Вроде как нужно в фоне запускать эти задачи. При чем здесь пулы обработки http запросов? да. Можно в фоне. Он не реагирует на это решение. Тогда можно общий пул на всех юзверей. Они же общими документами пользуются. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:28 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Помимо этого могу использовать пул потоков общий серверный (его можно заинжектить как ресурс) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:30 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming PetroNotC Sharp rabiter, по умолчанию столько сколько есть. Ну как пример - 300-350 для нагр проекта (def 150) /opt/tomcat/conf/server.xml Такое ощущение что я чтото пропустил. Вроде как нужно в фоне запускать эти задачи. При чем здесь пулы обработки http запросов? нет, речь не про пул http запросов (есть такой пул, да). Но в App Server (например в Wildfly) есть еще и служебный пул потоков, отдельный от пула http. Я про него и говорю. Например, когда используешь аннотацию @Asynchronous, или таймер, то берется именно этот пул. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:30 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter ну блин, кастомер ставит на свое окружение, у нас такого нет, откуда мы знаем что у него будет? не понял. А где у вас пароли, адреса, логины, конфиги? Вы обязаны проверить все режимы и написать инструкцию. Какое умолчание в типичном окружении. При каком диске. При каких размерах документов. Конечно если у заказчика фотография 3 на 4 вместо ворд файлов то и загружать будут другие настройки. У вас это костыль! Вы в первом посте сказали! у нас продукт, кастомеров много. Конкретно этот функционал для одного конкретного кастомера, но он так же может быть использован и другими. Кто-то использует load balancer, кто-то не использует (монолит у нас), разные app servers (слава богу, сейчас только WF поддерживаем, но было время, когда был и GF и WS). Базы тоже разные могут быть, так что это выливается в очень настраиваемое приложение, куча системных настроек и т.д. Про костыль я не помню чтобы говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:33 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp lleming пропущено... Такое ощущение что я чтото пропустил. Вроде как нужно в фоне запускать эти задачи. При чем здесь пулы обработки http запросов? да. Можно в фоне. Он не реагирует на это решение. Тогда можно общий пул на всех юзверей. Они же общими документами пользуются. Я стараюсь на вас не реагировать, но пока не особо получается один пул на всех пользователей - идея, да. Документы, действительно, общие. Но чутье мне говорит что не надо так делать, лучше пусть пользователи все жу будут независимы друг от друга. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:36 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Про костыль я не помню чтобы говорил. если не костыль тогда надо ответить - почему 40 сек грузится документ на бэке? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:36 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Я стараюсь на вас не реагировать, но пока не особо получается и не получится) С профи я всегда нахожу общий язык. А спесивые стасы гоняются за петром и плакаты "не слушай его вешают" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:38 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Про костыль я не помню чтобы говорил. если не костыль тогда надо ответить - почему 40 сек грузится документ на бэке? где я говорил про 40 секунд? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:40 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Я стараюсь на вас не реагировать, но пока не особо получается и не получится) С профи я всегда нахожу общий язык. А спесивые стасы гоняются за петром и плакаты "не слушай его вешают" Так обходите стороной мои посты раз я не профи, я же просил, от вас проку ноль, один вред ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:41 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Специалист вы весьма посредственный, именно такое мнение у меня о вас складывается, вы уж извините. Впечатление, что вы больше работник языком и ветрогон. Ну, как бы не возникает желание с вами пересекаться в проф сфере. Может человек вы замечательный, но спец, извините, нет. Я бы с вами в одном проекте и недели не ужился. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:47 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp пропущено... и не получится) С профи я всегда нахожу общий язык. А спесивые стасы гоняются за петром и плакаты "не слушай его вешают" Так обходите стороной мои посты раз я не профи, я же просил, от вас проку ноль, один вред а мне пофиг на твои желания. Ты улучшил sql_ru? Тут никто никому ничего не должен. Я выше сказал что костыль. Нет? Ответь на вопрос))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:54 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Я бы с вами в одном проекте и недели не ужился взаимно. Вы медленно растете. Значит ленивый. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 21:55 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
1) У каждого таска заведи поле parentId. Какой-нить автоинкремент атомик счетчик 2) Заведи конкарент мапу userName -> parentId, куда складывай последний активный parentId 3) в коде таски проверяй что parentId находится в этой мапе, если нет - скип. Смысл в том чтобы перенести логику отмены исполнения в сам таск. Пусть хоть 500 раз нажмет сабмит - выполняться будет только самый последний. Ну это если очень хочется свой велосипед написать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:01 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter пропущено... Так обходите стороной мои посты раз я не профи, я же просил, от вас проку ноль, один вред а мне пофиг на твои желания. Ты улучшил sql_ru? Тут никто никому ничего не должен. Я выше сказал что костыль. Нет? Ответь на вопрос))) Ну по крайней мере не ухудшил) Но, сейчас на полном серьезе скажу вам, я думаю порой, посоветуюсь с парнями на sql_ru, а потом как вспомню во что выливается переписка с вами, так 10 раз подумаю. Вы же абсолютно занимаете собой и своим флудом весь эфир, за вами не слышно ни кого и ни чего. Вы втираете, извините, какую-то дичь, зачем вы это делаете, специально? Сознавайтесь! PetroNotC Sharp rabiter Я бы с вами в одном проекте и недели не ужился взаимно. Вы медленно растете. Значит ленивый. вы так говорите, словно в этом есть что-то плохое 😎 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:03 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Я в многопоточке не особо это ваше? А я в многопоточке больше вас знаю. Тогда что вы нюни и оффтоп распустили? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:05 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, кончайте флудить. Разговаривайте ИНЖЕНЕРНЫМ языком. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:06 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Я в многопоточке не особо это ваше? А я в многопоточке больше вас знаю. Тогда что вы нюни и оффтоп распустили? ну рад за вас, но вы вритаете при это дичь ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:08 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, кончайте флудить. Разговаривайте ИНЖЕНЕРНЫМ языком. все, мир ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:10 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter ну рад за вас, но вы вритаете при это дичь - ограничивайте не потоки а задачи (или) вообще не ограничивайте вам не дошла? - о том что фоновый поток без пула это хорошо, тоже вам не дошла? Ну что, поздравляю Вас)))) Вы не архитектор а программист. Удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:13 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter ну рад за вас, но вы вритаете при это дичь - ограничивайте не потоки а задачи (или) вообще не ограничивайте вам не дошла? - о том что фоновый поток без пула это хорошо, тоже вам не дошла? Ну что, поздравляю Вас)))) Вы не архитектор а программист. Удачи! да я как бы и не утверждал, что я Архитектор) а у вас комплекс похоже, избавляйтесь срочно! ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:18 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp пропущено... то есть фраза - ограничивайте не потоки а задачи (или) вообще не ограничивайте вам не дошла? - о том что фоновый поток без пула это хорошо, тоже вам не дошла? Ну что, поздравляю Вас)))) Вы не архитектор а программист. Удачи! да я как бы и не утверждал, что я Архитектор) а у вас комплекс похоже, избавляйтесь срочно! ну, кстати, от хренового архитектора вреда гораздо больше, чем от хренового программиста, так что вы вреднее меня, да ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:22 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, тебеж сказал игнорировать)))) Я то отдыхаю тут. Повторяю свой вопрос для программиста - какого фига у вас документы качаются N минут? Что из за этого надо городить такие чудовищные костыле вроде "угадай куда я тыкну в браузере" ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:23 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, брат, позови инженера. Мне неинтересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:25 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Я то отдыхаю тут. нефига себе сколько времени у человека на отдых! завидую! а вы не могли бы отдыхать в других постах? ну чтобы настроение друг другу не портить, ну зачем? я же не прихожу в ваши и не начинаю втирать дичь ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:28 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp Я то отдыхаю тут. нефига себе сколько времени у человека на отдых! завидую! а вы не могли бы отдыхать в других постах? ну чтобы настроение друг другу не портить, ну зачем? я же не прихожу в ваши и не начинаю втирать дичь ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:31 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, тебеж сказал игнорировать)))) Я то отдыхаю тут. Повторяю свой вопрос для программиста - какого фига у вас документы качаются N минут? Что из за этого надо городить такие чудовищные костыле вроде "угадай куда я тыкну в браузере" ))) а я знаю? это расширение не я писал, на меня буквально вчера свесили этот модуль, от чего я вообще в расстройстве. у кастомера документы - tiff файлы по 30 мегабайт с чертежами, чудо что это вообще работает и не взрывается ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:31 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp rabiter, тебеж сказал игнорировать)))) Я то отдыхаю тут. Повторяю свой вопрос для программиста - какого фига у вас документы качаются N минут? Что из за этого надо городить такие чудовищные костыле вроде "угадай куда я тыкну в браузере" ))) а я знаю? Дак узнайте и приходите завтра. Нам расскажете. Или признавай что костыль так как "вообще в расстройстве". Ты про костыль споришь уже пол часа. Нафиг ты на работе нужен такой. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:39 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter пропущено... а я знаю? Дак узнайте и приходите завтра. Нам расскажете. Или признавай что костыль так как "вообще в расстройстве". Ты про костыль споришь уже пол часа. Нафиг ты на работе нужен такой. хаха, если я отсюда уйду я не знаю что с ними будет 😁 Знали бы вы... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:41 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp и вообще, мы слишком плохо друг друга знаем, чтобы делать какие-то личностные выводы. Я вспыльнул, признаю. У меня на вас аллергия походу, прошу меня понять) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:42 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Дак узнайте и приходите завтра. Нам расскажете. А вы и завтра тут отдыхаете? ну нельзя же так себя баловать) По поводу костыля. Смотрите приложение - как город. Что-то в core, костяк так сказать, модули, от которых много чего зависит, их надо держать в порядке - это центр города, главная улица, кремль. А то, что на окраине происходит, да и фиг с ним порой, хочется просто заткнуть, чтобы работало. Тут сейчас конкретно мне нет ни времени ни желания разводить рефакторинг всего этого безобразия что тут было написано без меня - это - окраина. Хочется быстрое надежное, не самое лучшее. Я уже решил как буду делать (но чтобы не портить ваше настроение, я буду держать детали в секрете) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:47 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp и вообще, мы слишком плохо друг друга знаем, чтобы делать какие-то личностные выводы. Я вспыльнул, признаю. У меня на вас аллергия походу, прошу меня понять) вряд ли. Я редко ошибаюсь. И память отличная. Мне не интересно по стасовски флеймить.... - дак значит костыль? )))) - ограничивайте не потоки а задачи (или) вообще не ограничивайте вам не дошла? - о том что фоновый поток без пула это хорошо, тоже вам не дошла? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:49 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter А то, что на окраине происходит, да и фиг с ним порой, хочется просто заткнуть, чтобы работало. Для вас мусорное ведро за ширмой может быть полным. Для меня нет. rabiter Тут сейчас конкретно мне нет ни времени ни желания разводить рефакторинг всего этого безобразия у вас и логики нет? Кто просит рефакторить? Вас просят разбираться в чужом коде. Это обязанность джуна. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:52 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter PetroNotC Sharp и вообще, мы слишком плохо друг друга знаем, чтобы делать какие-то личностные выводы. Я вспыльнул, признаю. У меня на вас аллергия походу, прошу меня понять) вряд ли. Я редко ошибаюсь. И память отличная. Мне не интересно по стасовски флеймить.... - дак значит костыль? )))) - ограничивайте не потоки а задачи (или) вообще не ограничивайте вам не дошла? - о том что фоновый поток без пула это хорошо, тоже вам не дошла? Да забудьте вы Стаса. Сосредоточьтесь на мне. - не согласен, что костыль. Но и упарываться тут не стоит, потому что потом этот код не надо будет поддерживать и вносить в него изменения. Достаточно будет раз написать и забыть. - я не могу ограничивать задачи, я же говорю, если надо закешировать 50 - надо закешировать 50... вы превратить способны в попугая - фоновый поток отлично! Я подумал вообще про NIO, там как раз нужен фоновый поток. Но у меня его нет! Вообще неотработано решение, и сейчас не время экспериментов. Я могу взять этот поток из того же пула и пусть он у меня будет фоновый. Ну и что мне это даст? Вы в java ee работали? если нет, то я завидую вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 22:58 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter А то, что на окраине происходит, да и фиг с ним порой, хочется просто заткнуть, чтобы работало. Для вас мусорное ведро за ширмой может быть полным. Для меня нет. Вы живете в каком-то удивительном идеальном мире и при этом у вас уйма времени тут отдыхать на форуме, сдается мне вы базработный. PetroNotC Sharp Вас просят разбираться в чужом коде. Это обязанность джуна. вы бешеный) опять дичь втираете) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:01 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Мелькнула мысль сейчас, а что, если я все это время разговариваю со школьником и он просто поднимает меня на хаха? Да не, не может быть. Хотя это бы многое объяснило) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:05 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter - не согласен, что костыль. Но и упарываться тут не стоит, потому что потом этот код не надо будет поддерживать и вносить в него изменения. Достаточно будет раз написать и забыть. ленив. А таких я не люблю. Нужно посмотреть код и выяснить почему тормоза. Ферштейн? Если тебе это не интересно то ты просто ленив. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:06 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Ну я со своего опыта могу сказать что если вам нужна данная тема потому что бэкенд не поспевает за фронтом - то ваше решение это костыли. Бэк должен поспевать. Вы боитесь в этом признаться. С этим ясно. rabiter Вы живете в каком-то удивительном идеальном мире и при этом у вас уйма времени тут отдыхать на форуме, сдается мне вы базработный. стас? rabiter вы превратить способны в попугая стас? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:11 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp ленив. А таких я не люблю. так а кто говорит, что меня нужно непрменно именно любить? У меня складывается впечатление, что вы отчаянно пытаетесь мне что-то доказать, свое превосходство чтоли? Вы сами понимаете абсурдность ситуации? Мы же взрослые люди, что за нападки. PetroNotC Sharp Ферштейн? их шпрехе кайн дойч PetroNotC Sharp Если тебе это не интересно то ты просто ленив. ах как мне не хватает того самого качества, которое вы употребили уже раза три по отношению ко мне ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:13 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter я не могу ограничивать задачи, я же говорю, если надо закешировать 50 - надо закешировать 50 )))) LOL загрузку отменяем" - это не ограничивать? Или у вас список растёт в геометрической прогрессии? 22404812 Ты стас? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:15 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Вы живете в каком-то удивительном идеальном мире и при этом у вас уйма времени тут отдыхать на форуме, сдается мне вы базработный. стас? rabiter вы превратить способны в попугая стас? не понял) вы зовете кого-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:15 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter я не могу ограничивать задачи, я же говорю, если надо закешировать 50 - надо закешировать 50 )))) LOL загрузку отменяем" - это не ограничивать? Или у вас список растёт в геометрической прогрессии? 22404812 Ты стас? а, нет, я не Стас) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:16 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter вы отчаянно пытаетесь мне что-то доказать, с вадей тоже бывате 10 страниц беседуют. Намёк понятен? Когда я пойму что ты непробиваем потеряю интерес. Почти понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:17 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp пропущено... )))) LOL загрузку отменяем" - это не ограничивать? Или у вас список растёт в геометрической прогрессии? 22404812 ну и как еще вы предлагаете ограничить помимо отмены загрузки? То, что отменять надо это и ежу понятно. А помимо? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:18 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, "если надо закешировать 50 - надо закешировать 50" - это будет ваш слоган. )) я запомнил. Закругляемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:18 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter вы отчаянно пытаетесь мне что-то доказать, с вадей тоже бывате 10 страниц беседуют. Намёк понятен? Когда я пойму что ты непробиваем потеряю интерес. Почти понял. Да я вообще тут блин раз в пол года бываю и то, только чтобы с вами поговорить, я тут никого больше не знаю, мне вас достаточно. Теперь через год ждите, раньше едва ли соскучусь. Нет, реально, шутки в сторону, я начинаю спрашивать, ребята советуют адекватные вещи, и появляетесь вы и все, можно пост закрывать, пиши пропало ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:20 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, "если надо закешировать 50 - надо закешировать 50" - это будет ваш слоган. )) я запомнил. Закругляемся. Ура, у меня теперь есть слоган, я польщен доброй ночи кстати, какая-то привычка из детства, видимо, давать слоганы, погоняла другим людям, изживайте это в себе. Вы же позиционируете себя как Архитектор ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:21 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter Да я вообще тут блин раз в пол года бываю приходите. Мы много узнаем как вы выполняете свои обязанности у вас на работе. "если надо закешировать 50 - надо закешировать 50" (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:36 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter Да я вообще тут блин раз в пол года бываю приходите. Мы много узнаем как вы выполняете свои обязанности у вас на работе. "если надо закешировать 50 - надо закешировать 50" (с) не забудьте свой колпак ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2021, 23:45 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming Это похоже на шедулер OS, тут пока вижу только одно замечание. В ос поток с меньшим приоритетом все равно свой квант получит а тут с priority queue не факт. 1. В ОС тоже не факт. Если очередь сильно забита - ждать можно до бесконечности 2. В ряде ОС, насколько я помню, шедулер выдает ресурсы квантами по 50 ms, т.е. 200 активно работающих потоков x кол-во ядер = любую ОС положат. lleming То бишь задачи будут иметь тенденцию заканчивать вместе. Пришел самый первый, ушел со всеми. Тогда нужно столько очередей, сколько пользователей и выгребать из очередей одновременно ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 01:02 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Петро, завязывайте бесить народ 22399014 и сообщение вам сразу же 22399017 До чего я низко пал 😂 читаю другие посты просто чтобы понять, это я такой чурбан, или Петро)) Вас люди просят - не пишите, проходите мимо, вы шумите ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 02:32 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev 2. В ряде ОС, насколько я помню, шедулер выдает ресурсы квантами по 50 ms, т.е. 200 активно работающих потоков x кол-во ядер = любую ОС положат. И типичный квант времени на порядок уменьшился и всяческие priority boost/inversion прикручены куда надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 05:40 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, Нашел с кем быть в компании))) Первая не знает, и самое главное не хочет знать что текст это биты. Второй сегодня хочет в рантайме пул настраивать. Воинствующая безграмотность. Ну не твое это, обсуждать как лучше сделать. Пиши строго по ТЗ. У кодеров с ТЗ нет таких постов длинных 22404147 Максимум написать функцию list = getDOCname(url) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 09:20 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter, И еще одно - невозможно быть java программистом и заходить на форум раз в пол года как вы. Это не шарп. И не дельфи. Работайте, удачи! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 09:26 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Basil A. Sidorov Leonid Kudryavtsev 2. В ряде ОС, насколько я помню, шедулер выдает ресурсы квантами по 50 ms, т.е. 200 активно работающих потоков x кол-во ядер = любую ОС положат. И типичный квант времени на порядок уменьшился и всяческие priority boost/inversion прикручены куда надо. Тут дилема. Переключение потоков процессов очень затратная операция и чем больше кэш процессора, тем затратнее и затратнее. Про NUMA архитектуру и Ethernet сети (RSS - receive side scaling) вообще можно не упоминать. AFAIK OS и Java Runtime писатели уже > 10 лет пытаются что-то придумать, что бы при NUMA накладные расходы понизить, насколько я знаю, ничего не получается. До того не получается, что в Oracle соответствующую опцию как ввели в эксплуатацию, так через пару версий и вывели. В Java лет 5 назад читал отчет соответствующей группы, выводы у них были такие: 1. работа выполнена успешно, но положительный результат не достигнут (алгоритм реализован, но выйгрышь минимальный) 2. нашли багу в команде new, что она некорректно работает в многопоточке ))) там пол статьи было этой баге посвещено, что тип блокировки неправильный использовался ))) Т.ч. IMHO, даже 50 ms для ряда задач может быть крайне долго. Например при сетевом обмене и при неудачном стечении звезд, биндинг к процессорному ядру может задержки по сети в разы (!) улучшить. Но смысл был в том, что ничего не бывает идеальным. Все равно рано или поздно наступает насыщение очереди, при котором "все встанет колом". Тут только один вариант - прибивать лишнии задачи или выдавать access denied, что бы хоть кто-то обработаться за конечное время смог. IMHO & AFAIK. Но не думаю, что сильно ошибаюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 12:26 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
А вообще, подозреваю, что в задаче автора усматриваю одну фундаментальную ошибку в постановке. Но предметной области не знаю, т.ч. могу и не правильно подозревать. Не говоря уже о том, что судя по задаче, уже дофига фундаментальных ошибок и велосипедов в архитектуре, которые эта задача и должна подпирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 12:42 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter, И еще одно - невозможно быть java программистом и заходить на форум раз в пол года как вы. Это не шарп. И не дельфи. Работайте, удачи! я очень сожалею, что мне пришлось сцепиться с таким не умными и грубым человеком как вы, это очень неприятно. По вашей логике все программисты должны тут сидеть? У вас времени видимо много свободного? И чем вам не угодил шарп? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 13:14 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev А вообще, подозреваю, что в задаче автора усматриваю одну фундаментальную ошибку в постановке. Но предметной области не знаю, т.ч. могу и не правильно подозревать. Не говоря уже о том, что судя по задаче, уже дофига фундаментальных ошибок и велосипедов в архитектуре, которые эта задача и должна подпирать. я уже решил свою задачу. Этот модуль и правда коряво очень написан. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 13:21 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter PetroNotC Sharp rabiter, И еще одно - невозможно быть java программистом и заходить на форум раз в пол года как вы. Это не шарп. И не дельфи. Работайте, удачи! я очень сожалею, что мне пришлось сцепиться с таким не умными и грубым человеком как вы, это очень неприятно пациент приходит к хирургу и спрашивает - что делать с плоскостопием? Хирург: "вы запустили свои ноги дешёвой обувью. Не жалейте денег. Сейчас только резать". Пациент: "я жалею что вы очень грубый и не умный...." ))) Не будьте стасом - больше постов с инженерным текстом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 13:22 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
rabiter я уже решил свою задачу. решение где? От того что я сказал прямо в глаза требование закончить топик решением, не означает что я не прав). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 13:24 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp rabiter я уже решил свою задачу. решение где? От того что я сказал прямо в глаза требование закончить топик решением, не означает что я не прав). ой идите к черту ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 13:28 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
mayton, Я удивляюсь как ты не интересуешься задачей предугадать кликанье мышкой на клиенте. Ведь это голимый hdd kashe. Требуется предсказать _для загруки_ клики юзверя. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 19:07 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Переключение потоков процессов очень затратная операция и чем больше кэш процессора, тем затратнее и затратнее. P.S. Если что, то разница во времени обращения в кэш первого уровня и в ОЗУ - порядок-полтора. По вашей логике - гигабайты и терабайты ОЗУ это дорога в ад и путь в никуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 20:14 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Они не идиоты, просто универсального алгоритма не существует. И по каким параметрам оптимизировать, тоже не понятно. Планировщик, в общем случае, пытается задачи по ядрам размазать; а всякие NUMA оптимизации, RSS и прочие совершенно наоборот, собрать однотипные потоки на одно ядро. А разница в задержках в некоторых случаях может и порядков, а то и нескольких порядков достигать. AFAIK ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2021, 21:18 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Я удивляюсь как ты не интересуешься задачей предугадать кликанье мышкой на клиенте. Ведь это голимый hdd kashe. Требуется предсказать _для загруки_ клики юзверя. Извини. А где был вообще инфо-повод упомянуть моё бедное имя? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 01:31 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
mayton, Ты силен в алгоритмизации. Вот, сомневаюсь, что такая задача возможна в принципе. Хотя он и предупредил что маршрут запросов документов предсказуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 09:27 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Планировщик, в общем случае, пытается задачи по ядрам размазать Есть у меня книжка, первод которой вышел в 1997 году - "Введение в AS/400". В одной из глав рассказывается как раз про сродство кэшей (cache affinity) и как это влияет на алгоритм работы планировщика. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 11:00 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Ты силен в алгоритмизации. Вот, сомневаюсь, что такая задача возможна в принципе. Хотя он и предупредил что маршрут запросов документов предсказуем. Тут 6 страниц какого-то флуда. Нету ни исходников ни задания. Вообще непонятно что тут обсуждают. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 12:39 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
mayton, Условно, чел ходит по веб страничке. Нужно предугадать по каким ссылкам он кликнет и Заранее в фоне загрузить будущий контент. Зада бредовая, соглашусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 13:11 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Нужно предугадать по каким ссылкам он кликнет и Заранее в фоне загрузить будущий контент. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 13:12 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton, Условно, чел ходит по веб страничке. Нужно предугадать по каким ссылкам он кликнет и Заранее в фоне загрузить будущий контент. Зада бредовая, соглашусь. Я могу ошибаться но вроде это было заложено в http2. Предварительная загрузка ресурсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 15:28 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp mayton, Условно, чел ходит по веб страничке. Нужно предугадать по каким ссылкам он кликнет и Заранее в фоне загрузить будущий контент. Зада бредовая, соглашусь. Я могу ошибаться но вроде это было заложено в http2. Предварительная загрузка ресурсов. Если я правильно понял то проблема не в том чтобы клиенту закгрузить. А из медленного хранилища подгрузить в быстрое на определнном триггере и так же при потере актуальности канселить подгурзку и освобождать быстрый кэш. Кэши процессора тут не причем, тут то ли документы то ли картинки нужно в кэш ложить и убирать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 15:44 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
А какой алгоритм кеширования? LRU? Для веб ресурсов можно поискать 2Q (Two-queue). Статья на Хабре была на эту тему. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 16:47 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
Ёксёль-моксёль ... Ну почему такое количество писателей опять собралось в одном месте??? Почему нельзя просто п(р)очитать и вообще ничего не пИсАть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 16:52 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
lleming, Да. Именно так. Только попадание в кеш имхо будет низкое. Это типо таблица маршрутов или матрица маршрутов. List<url> = getNextUrl(url). И да, где то было похожее. Браузеры что ли поддерживали предварит загрузку ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 18:51 |
|
Вопрос по многопоточке
|
|||
---|---|---|---|
#18+
mayton А какой алгоритм кеширования? LRU? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2021, 18:53 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120295]: |
0ms |
get settings: |
12ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
34ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
2547ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 2893ms |
0 / 0 |