Java на habrahabr
JAVA / Обработка клиентов сервера на ScheduledThreadPoolExecutor
Ниже я опишу один из возможных вариантов обработки клиентов на сервере с использованием ScheduledThreadPoolExecutor. Примеры включены.
Отличие от конкурентной модели
В отличии от модели работы, где на каждого клиента выделяется личный поток, у ThreadPoolExecutor есть несколько весомых, на мой взгляд преимуществ: вместо одного потока на клиента, используется ровно столько потоков, сколько Вы укажете — меньше висит спящих потоков (по моему опыту, более 95% времени потоки клиентов спят); меньше конкуренция кода; обычно код понятнее и проще.
Я не претендую на правильность реализации или использования ScheduledThreadPoolExecutor, и буду рада, если меня поправят и скажут, что я делаю всё не так, и как надо делать всё на самом деле.
Теги: