|
java.util.concurrent.*, concurrent collections
|
|||
---|---|---|---|
#18+
andreykaT, жесть какая java.concurrent - в помойку. Т.к. это просто другая библиотека, все можно самому реализовать java.utils - тоже в помойку. Зачем нужны HashMap'ы, ArrayList'ы и прочее? Нужно ставить Redis ! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 16:35 |
|
java.util.concurrent.*, concurrent collections
|
|||
---|---|---|---|
#18+
погорячился насчет того что канкарренси натив юзает в отличие от вейтнотифая. сорян. всё же я остаюсь при своем- канкарренси пакет - это лишь либа. а вейтысинкинотифаи - это часть языка. другие вейтнотифаи ты не напишешь. а альтернативный пакет - да. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 16:36 |
|
java.util.concurrent.*, concurrent collections
|
|||
---|---|---|---|
#18+
Leonid KudryavtsevandreykaT, жесть какая java.concurrent - в помойку. Т.к. это просто другая библиотека, все можно самому реализовать java.utils - тоже в помойку. Зачем нужны HashMap'ы, ArrayList'ы и прочее? Нужно ставить Redis ! я вам описал достаточно банальную архитектуру на которой сидят подавляющее большинство бекенд приложений. вы же это жестью назвали -- почему? ну не вытянет одна жвм с одним приложением большой поток. ну никак. вы просто обязаны будете думать о горизонтальной масштабируемости. что у вас может быть много жвмов, у вас может быть много приложений, вам должно быть просто их туда добавить или убрать. у вас должно быть устойчивый сервис и так далее. все эти ваши канкарренси пакеты это лишь для очень частных случаев ну и там фронтенд приложений например. для современных бэкэнд приложений в большинстве своем если вы эти инструменты начинаете юзать - значит у вас что-то пошло не совсем так как должно. ну или от отчаяния. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 16:39 |
|
java.util.concurrent.*, concurrent collections
|
|||
---|---|---|---|
#18+
andreykaTдругие вейтнотифаи ты не напишешь А в чем проблема? Легко Синхронайзы, вейтнотифаи работают тупо поврех CompareAndSwap инструкции процессора. Т.ч. через https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html#compareAndSet(int, int) скорее всего повторяются 1=1 Если же ставится задача чисто через pure java. То volatule, и после каждой write операции проверять, что туда реально записалось то, что мы хотели. Если записалось не то (коллизия) - повторяем в цикле до посинения. (lock free алгоритмы примерно так и работают ))) ) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2018, 16:43 |
|
|
start [/forum/topic.php?fid=59&msg=39727314&tid=2121682]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 334ms |
total: | 490ms |
0 / 0 |