LINUX.ORG.RU

История изменений

Исправление dave, (текущая версия) :

Принцип «разделяй и влавствуй». Разбей задачу на группы и каждую группу обрабатывай отдельно, т.е. отдельным пулом потоков.

Еще можно задачи попытаться разбить на меньшие части так, чтобы была более ровная нагрузка, если какая-то часть начнет много занимать исполняющий поток. Закончил одну часть - через пул пошел делать другую, т.е. продолжение, и необязательно через тот же пул.

Задачи с интенсивным IO можно выполнять на большем пуле, потому что будут простои на sleep и блокировках. С интенсивными вычислениями - на меньшем пуле, потому что они жрут процессор.

Общего рецепта нет. Может быть, то, как ты разобьешь задачи, и есть архитектура приложения.

Существуют целые весьма нехилые фреймворки, такие как akka, которые посвящены этой теме.

Исходная версия dave, :

Принцип «разделяй и влавствуй». Разбей задачу на группы и каждую группу обрабатывай отдельно, т.е. отдельным пулом потоков.

Еще можно задачи попытаться разбить на меньшие части так, чтобы была более ровная нагрузка, если какая-то часть начнет много занимать исполняющий поток. Закончил одну часть - через пул пошел делать другую, т.е. продолжение.

Задачи с интенсивным IO можно выполнять на большем пуле, потому что будут простои на sleep и блокировках. С интенсивными вычислениями - на меньшем пуле, потому что они жрут процессор.

Общего рецепта нет. Может быть, то, как ты разобьешь задачи, и есть архитектура приложения.

Существуют целые весьма нехилые фреймворки, такие как akka, которые посвящены этой теме.