Java на habrahabr

Январь 22, 2012

 

JAVA / Обработка клиентов сервера на ScheduledThreadPoolExecutor

Ниже я опишу один из возможных вариантов обработки клиентов на сервере с использованием ScheduledThreadPoolExecutor. Примеры включены.

Отличие от конкурентной модели


В отличии от модели работы, где на каждого клиента выделяется личный поток, у ThreadPoolExecutor есть несколько весомых, на мой взгляд преимуществ: вместо одного потока на клиента, используется ровно столько потоков, сколько Вы укажете — меньше висит спящих потоков (по моему опыту, более 95% времени потоки клиентов спят); меньше конкуренция кода; обычно код понятнее и проще.

Я не претендую на правильность реализации или использования ScheduledThreadPoolExecutor, и буду рада, если меня поправят и скажут, что я делаю всё не так, и как надо делать всё на самом деле.

Java на habrahabr

Декабрь 7, 2011

 

JAVA / [Из песочницы] Миграция java-приложения на Fork/Join или о чём нужно помнить

С выходом седьмой версии JDK нам, счастливым разработчикам на Java, стал доступен из коробки фреймворк Fork/Join, о котором уже писали на хабре тут. Фреймворк в плане API очень похож на уже привычный ExecutorServices, но даёт весьма ощутимый прирост производительности и действительную «легковесность» потоков.

Здесь, я бы хотел рассмотреть на что стоит обратить внимание при переходе на Fork/Join.

Java на habrahabr

Сентябрь 22, 2011

 

JAVA / Fork/Join Framework в Java 7

Какое-то время назад я делал обзор нововведений в Java 7, и, среди прочего, грозился по некоторым из новшеств пройтись более конкретно. Прошло довольно много времени, в Java 7 успели даже найти серьёзный дефект, но наконец настал тот момент, когда уже пора выполнить своё обещание. Потому под катом вы можете найти описание и пример использования новой реализации ExecutorService под названием ForkJoinPool. Эта реализация разработана специально для упрощения распараллеливания рекурсивных задач и решает проблему с тем, что пока выполняется под-задача, поток, который её породил, не может быть использован.

Java на habrahabr

Март 28, 2011

 

JAVA / [Перевод] Многопоточность в Java: ExecutorService

В Java 5 было добавлено много вещей для организации многопоточности и особенно касаемо организации параллельного доступа. В этой и последующих статьях мы пройдемся по некоторыми из них.