|
|
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
у меня такой вопрос к гуру: как часто вы пользуетесь и пользуетесь ли вообще такими вещами при написании скажем, веб-проектов под фреймворками спринг. вещи: read-write locks, semaphores, threadqueues, atomics, executors? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 15:44 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTскажем, веб-проектов под фреймворками спрингВ 95% проблема многопоточности решается средствами Application Server'а. (5% - Atomics и конкурентный доступ - (: ) имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 15:51 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
Usman, спасибо, а ВНЕ приложений, что со спрингом и апп.серверами работают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 16:23 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTа ВНЕ приложений, что со спрингом и апп.серверами работают?Если речь о клиентах AppServer'а, то там можно использовать все что угодно (при наличии соот-щих возможностей). Клиентом может быть как тонкий/толстый, так и другой AppServer. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 16:35 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
Usman, честно говоря, не совсем понял ну ладно. тогда такой вопрос: ин риал круел лайф вы часто используете при работе с многопоточкой те методы и классы, что я сверху написал? и еще короткий такой: а что именно апп-сервер предоставляет для работы с многопоточкой? просто например, глядя на типовое спринговое приложение, я понимаю, что там проблемы с многопоточкой решены (ну или почти решены) по бОльшей части тем, что выбран правильный дизайн приложения в целом - слои, каркас и т.п. т.е. ситуаций, где несколько тредов могут "поругаться" сведены к минимуму. там больше внимания уделяется работе с базой чем с этим.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 16:46 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTин риал круел лайф вы часто используете при работе с многопоточкой те методы и классы, что я сверху написал?andreykaTа что именно апп-сервер предоставляет для работы с многопоточкой?В Full Profile - EJB (@Schedule), Web Profile - Quartz Scheduler (либо поднять что-нибудь свое на базе *ExecutorService, но я стараюсь избегать этого) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 17:09 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
За весь год потребность возникала всего дважды, использовал ReentrantLock и Semaphore. Так что практически не сталкиваюсь, хотя, наверное, хотелось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 20:25 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTу меня такой вопрос к гуру: как часто вы пользуетесь и пользуетесь ли вообще такими вещами при написании скажем, веб-проектов под фреймворками спринг. вещи: read-write locks, semaphores, threadqueues, atomics, executors? Rwlock - пару раз Семафоры - один Thread queue - не знаю что это Атомики и executors - часто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2016, 21:20 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTкак часто вы пользуетесь и пользуетесь ли вообще такими вещами при написании скажем, веб-проектов под фреймворками спринг. вещи: read-write locks, semaphores, threadqueues, atomics, executors? хм, executors нужны, чтобы создавать и переиспользовать (в случае пулов) потоки. остальные вещи - примитивы синхронизации. я не спец в веб-проектах и фреймворке спринг, но: не важно, сами вы создаете потоки, с использованием executors или фреймворк создает их за вас, вам необходимо позаботиться о том, чтобы эти потоки имели согласованный доступ к "shared mutable state". другой вопрос, как спринг или другие фреймворки могут в этом помочь. если вы делаете это сами, то вам необходимы эти примитивы синхронизации, volatile, atomicXXX, reentrant locks, rw locks и т.п. все зависит от задачи.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 16:55 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
it_devвам необходимо позаботиться о том, чтобы эти потоки имели согласованный доступ к "shared mutable state" Фишка в том, что в бОльшей части кровавого энтерпрайза шаред мутейбл стейт представляется в виде РСУБД и, вероятно, слоев кэша, который тоже уже написан за вас. А на обычном прикладном уровне он встречается крайне редко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 19:05 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
АЛЛИЛЛУЯ! наконец то кто то это сказал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 19:23 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTАЛЛИЛЛУЯ! наконец то кто то это сказал. Так ты пришел сюда тонко всех потроллить? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 19:39 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
maytonandreykaTАЛЛИЛЛУЯ! наконец то кто то это сказал. Так ты пришел сюда тонко всех потроллить? :) Нет, что ты. я просто подсознательно понимал что где-то собака порылась, но понять не мог как это выразить. Просто после мешка собесов у меня сложилось ощущение, что все эти тонкости мультитрединга со всякими тред-кью, семафорами и прочими ништяками пульзуют абсолютно все, даже уборщицы у меня в офисе. Все , но только не я. Я же смотрел как баран и не мог понять куда же тут реальный мультитрединг то прикрутить можно? (речь не об екзекуторах и кронах) А тут вон оно чо михалыч. Оказывается это у всех так. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 20:02 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTНет, что ты. я просто подсознательно понимал что где-то собака порылась, но понять не мог как это выразить. Просто после мешка собесов у меня сложилось ощущение, что все эти тонкости мультитрединга со всякими тред-кью, семафорами и прочими ништяками пульзуют абсолютно все, даже уборщицы у меня в офисе. Все , но только не я. Я же смотрел как баран и не мог понять куда же тут реальный мультитрединг то прикрутить можно? (речь не об екзекуторах и кронах) А тут вон оно чо михалыч. Оказывается это у всех так. :) На собесах пытаются оценить твой опыт. И если с основными разделами Java Core можно "проскочить" или пустить пыль в глаза то с мультитредингом ситуация другая. Я к примеру вообще не знаю даже примерных список quiz или тестов которые нужно пройти для сабжа. Скорее всего их не существует. Поэтому корректный ответ на один из 100500 вопросов по МТ - это признак зрелости. Вот и все. А будешь ли ты их использовать в проекте - ХЗ. На фоне веб-кодинга и коробочных фреймворков мультипоточность редко выходит наружу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 20:08 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
maytonandreykaTАЛЛИЛЛУЯ! наконец то кто то это сказал. Так ты пришел сюда тонко всех потроллить? :) andreykaT - дружбан Вади ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 20:58 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
Usmanmaytonпропущено... Так ты пришел сюда тонко всех потроллить? :) andreykaT - дружбан Вади Нет. Я его антагонист. ) он любит аут.принтлном строки с тегами в браузер через 80-й порт отправлять, а я люблю спринг и хибер. авторНа собесах пытаются оценить твой опыт. И если с основными разделами Java Core можно "проскочить" или пустить пыль в глаза то с мультитредингом ситуация другая. Я к примеру вообще не знаю даже примерных список quiz или тестов которые нужно пройти для сабжа. Скорее всего их не существует. Поэтому корректный ответ на один из 100500 вопросов по МТ - это признак зрелости. Вот и все. А будешь ли ты их использовать в проекте - ХЗ. На фоне веб-кодинга и коробочных фреймворков мультипоточность редко выходит наружу. да как сказать.. С одним товарищем у меня был собес. там вспомнили наверное вообще всё из МТ, я на часть ответил. в т.ч. на всякие трайлоки, рв-локи, семафорчики екзекуторы, атомики, волатайлы, калаблы и т.п. его фидбак - "не знает МТ". да, каюсь - так и не понял как тред-кью пользоваться. Для меня это, видимо, как физика черных дыр. Иногда по вечерам Браина Гоеца перечитываю ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 21:05 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaT С одним товарищем у меня был собес. там вспомнили наверное вообще всё из МТ, я на часть ответил. в т.ч. на всякие трайлоки, рв-локи, семафорчики екзекуторы, атомики, волатайлы, калаблы и т.п. его фидбак - "не знает МТ". да, каюсь - так и не понял как тред-кью пользоваться. Для меня это, видимо, как физика черных дыр. Иногда по вечерам Браина Гоеца перечитываю ) Ваш интервьюер не ошибся. Ведь в Java нет никаких Thread Queue, про которые вы так настойчиво пишете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 21:19 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
BlazkowiczandreykaT С одним товарищем у меня был собес. там вспомнили наверное вообще всё из МТ, я на часть ответил. в т.ч. на всякие трайлоки, рв-локи, семафорчики екзекуторы, атомики, волатайлы, калаблы и т.п. его фидбак - "не знает МТ". да, каюсь - так и не понял как тред-кью пользоваться. Для меня это, видимо, как физика черных дыр. Иногда по вечерам Браина Гоеца перечитываю ) Ваш интервьюер не ошибся. Ведь в Java нет никаких Thread Queue, про которые вы так настойчиво пишете. тред блокинг куеуе. пардон. уточняю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2016, 21:24 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTmaytonпропущено... Так ты пришел сюда тонко всех потроллить? :) Нет, что ты. я просто подсознательно понимал что где-то собака порылась, но понять не мог как это выразить. Просто после мешка собесов у меня сложилось ощущение, что все эти тонкости мультитрединга со всякими тред-кью, семафорами и прочими ништяками пульзуют абсолютно все, даже уборщицы у меня в офисе. Все , но только не я. Я же смотрел как баран и не мог понять куда же тут реальный мультитрединг то прикрутить можно? (речь не об екзекуторах и кронах) А тут вон оно чо михалыч. Оказывается это у всех так. :) Дак кто ж вас знает, куда вы на собеседования ходили, может там и нет никакого энтерпрайза, а все стильно, модно, молодежно и действительно нужен конкаренси. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 12:47 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
стартап чтоль какой? или решили свой фреймворк с нуля написать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 13:01 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
Лично мне, ключевого слова synchronized _пока_ вполне хватает. Все равно тормозит совсем в других местах ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 13:07 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTстартап чтоль какой? или решили свой фреймворк с нуля написать? :) вы вообще о чем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 13:41 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
just_vladimirandreykaTстартап чтоль какой? или решили свой фреймворк с нуля написать? :) вы вообще о чем? Сам с собой разговаривает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 14:01 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЛично мне, ключевого слова synchronized _пока_ вполне хватает. Все равно тормозит совсем в других местах ))) Нее. у вас просто опыта маловато в конкуренси - вы нам не подходите (зы если что это шутка, разумеется я так о Вас не думаю). Блакович, я к тому сказал, что если не энтерпрайз (где как выяснилось требования к распараллеливанию потоков минимальны), то наверное там они какие-то аналитические штуки пишут или собственные фреймворки на замену спрингу и хиберу А кстати, недавно с одними товарищами разговаривал и сказал что вот есть приложение там единомоментно в среднем в районе 20-ти потоков крутится. они так типа фии. так мало и вообще несерьезно. А по факту 200 потоков это 10 000 сессий. 20 потоков это 1000 сессий. приложение на тысячу сессий это мало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 15:22 |
|
||
|
java concurrency and multithreading
|
|||
|---|---|---|---|
|
#18+
andreykaTА кстати, недавно с одними товарищами разговаривал и сказал что вот есть приложение там единомоментно в среднем в районе 20-ти потоков крутится. они так типа фии. так мало и вообще несерьезно. А по факту 200 потоков это 10 000 сессий. 20 потоков это 1000 сессий. приложение на тысячу сессий это мало? Это - учёт попугаев, мартышек и слонёнков. Что толку в 200 потоках если они в sleeping к примеру или ждут i/o ? Наплодить много потоков - дурное-дело-не-хитрое. А вот обеспечить пропускную способность системы в количестве бизнес-операций на хост или на сетевой интерфейс или на 1 апп-сервер - вот он уровень синьорити. И не меряется он в количестве потоков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2016, 15:31 |
|
||
|
|

start [/forum/topic.php?fid=59&startmsg=39240908&tid=2123646]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 451ms |

| 0 / 0 |
