Реализация потоковых пулов - PullRequest
0 голосов
/ 16 марта 2012

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

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

Одна мысль, которая у меня возникла, заключалась в том, чтобы иметь эвристику для наблюдения за системными ресурсами (ЦП, памятью) и соответственно регулировать размер.Или я мог бы отслеживать потоки, чтобы увидеть, сколько времени они занимают и как int

1 Ответ

0 голосов
/ 18 апреля 2014

Вы можете использовать класс SelfTuningExecutors из библиотеки therore-concurrent .У меня была такая же потребность, и я решил реализовать расширение JDK ThreadPoolExecutor , которое могло бы адаптироваться к различным типам задач.Вы можете проверить эту страницу ссылка

...