|
|
|
FixedThreadPool vs CachedThreadPool
|
|||
|---|---|---|---|
|
#18+
Судя по прочитанному и моим экспериментам FixedThreadpool будет создавать новые потоки до того момента пока лимит тредов не исчерпан, даже если он уже может переиспользовать какой-то старый поток, который своё отработал. CachedThreadPool будет всегда сначала стараться переиспользовать уже созданные потоки и только если это невозможно, то тогда будет созданный поток. границы количества тредов нет Собственно вопросы: 1. Можно ли сделать ограниченный CachedThreadPool ? 2. В каких случаях нужно предпочитать FixedThreadpool CachedThreadPool-у ? выглядит, что CachedThreadPool бережнее относится к памяти. Влияет ли это на перформанс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2017, 19:21 |
|
||
|
FixedThreadPool vs CachedThreadPool
|
|||
|---|---|---|---|
|
#18+
3. Лениво ли создаются потоки в FixedThreadPool ? 4. Подчищаются ли потоки, если они долго не нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2017, 19: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 бережнее относится к памяти. Влияет ли это на перформанс? Тут похоже так сразу не ответишь, зависит от ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2017, 18:25 |
|
||
|
|

start [/forum/topic.php?fid=59&gotonew=1&tid=2123133]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 391ms |

| 0 / 0 |
