
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.02.2017, 19:21
|
|||
|---|---|---|---|
|
|||
FixedThreadPool vs CachedThreadPool |
|||
|
#18+
Судя по прочитанному и моим экспериментам FixedThreadpool будет создавать новые потоки до того момента пока лимит тредов не исчерпан, даже если он уже может переиспользовать какой-то старый поток, который своё отработал. CachedThreadPool будет всегда сначала стараться переиспользовать уже созданные потоки и только если это невозможно, то тогда будет созданный поток. границы количества тредов нет Собственно вопросы: 1. Можно ли сделать ограниченный CachedThreadPool ? 2. В каких случаях нужно предпочитать FixedThreadpool CachedThreadPool-у ? выглядит, что CachedThreadPool бережнее относится к памяти. Влияет ли это на перформанс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.02.2017, 19:25
|
|||
|---|---|---|---|
|
|||
FixedThreadPool vs CachedThreadPool |
|||
|
#18+
3. Лениво ли создаются потоки в FixedThreadPool ? 4. Подчищаются ли потоки, если они долго не нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2017, 18:25
|
|||
|---|---|---|---|
|
|||
FixedThreadPool vs CachedThreadPool |
|||
|
#18+
отвечу сам себе: автор1. Можно ли сделать ограниченный CachedThreadPool ? Все эти Executors.newXXX используют внутри ThreadPoolExecutor по умолчанию CachedThreadPool это Код: java 1. 2. 3. меняем на тип очереди на ограниченный, например new ArrayBlockingQueue(2) и получаем ограниченный CachedThreadPool автор3. Лениво ли создаются потоки в FixedThreadPool ? По умолчанию - да. Но можно конфигурнуть при помощи вызова методов: prestartCoreThread() or prestartAllCoreThreads() автор4. Подчищаются ли потоки, если они долго не нужны? при создании пула передаются 2 параметра corePoolSize and MaximumPoolSize а также keepAliveTime. По умолчанию, если число созданных тредов больше, чем corePoolSize, то потоки, которые бездействуют время, превышающее keepAliveTime будут завершены(но контролируется, чтобы их число не упало меньше, чем corePoolSize) Но и это можно конфигурить выставляя флаг allowCoreThreadTimeOut. По умолчанию он true только пока потоков более, чем corePoolSize. автор2. В каких случаях нужно предпочитать FixedThreadpool CachedThreadPool-у ? выглядит, что CachedThreadPool бережнее относится к памяти. Влияет ли это на перформанс? Тут похоже так сразу не ответишь, зависит от ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2123133]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 316ms |

| 0 / 0 |
