История изменений
Исправление
dave,
(текущая версия)
:
Принцип «разделяй и влавствуй». Разбей задачу на группы и каждую группу обрабатывай отдельно, т.е. отдельным пулом потоков.
Еще можно задачи попытаться разбить на меньшие части так, чтобы была более ровная нагрузка, если какая-то часть начнет много занимать исполняющий поток. Закончил одну часть - через пул пошел делать другую, т.е. продолжение, и необязательно через тот же пул.
Задачи с интенсивным IO можно выполнять на большем пуле, потому что будут простои на sleep и блокировках. С интенсивными вычислениями - на меньшем пуле, потому что они жрут процессор.
Общего рецепта нет. Может быть, то, как ты разобьешь задачи, и есть архитектура приложения.
Существуют целые весьма нехилые фреймворки, такие как akka, которые посвящены этой теме.
Исходная версия
dave,
:
Принцип «разделяй и влавствуй». Разбей задачу на группы и каждую группу обрабатывай отдельно, т.е. отдельным пулом потоков.
Еще можно задачи попытаться разбить на меньшие части так, чтобы была более ровная нагрузка, если какая-то часть начнет много занимать исполняющий поток. Закончил одну часть - через пул пошел делать другую, т.е. продолжение.
Задачи с интенсивным IO можно выполнять на большем пуле, потому что будут простои на sleep и блокировках. С интенсивными вычислениями - на меньшем пуле, потому что они жрут процессор.
Общего рецепта нет. Может быть, то, как ты разобьешь задачи, и есть архитектура приложения.
Существуют целые весьма нехилые фреймворки, такие как akka, которые посвящены этой теме.