|
|
|
Вопрос по ThreadPoolExecutor
|
|||
|---|---|---|---|
|
#18+
На самом деле даже 2 вопроса: 1. Правильно ли я понимаю логику его работы? Я отдаю на выполнение N задач, при этом corePoolSize == maximumPoolSize && N > corePoolSize. При этом так получается, что все из этих N задач выполняются неоправданно долго и время выполнения каждой начинает превышать keepAliveTime. Означает ли это, что N - maximumPoolSize будут выкинуты из очереди на выполнение? 2. Если я правильно понимаю п.1, то можно ли как отловить эти "выкинутые" задачи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 14:17 |
|
||
|
Вопрос по ThreadPoolExecutor
|
|||
|---|---|---|---|
|
#18+
just_vladimirОзначает ли это, что N - maximumPoolSize будут выкинуты из очереди наНет, все задачи будут выполнены. Если в пуле 5 потоков, а задач 7, то начнут выполнятся какие-то 5 задач из 7ми теми 5ю потоками (2 оставшиеся задачи ожидают свободного потока). Как только одна из этих задач завершается, поток, поток её исполнявший, освобождается и береёт на выполенение задачу из ожидания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 15:22 |
|
||
|
Вопрос по ThreadPoolExecutor
|
|||
|---|---|---|---|
|
#18+
For All, а что означает keepAliveTime? Видимо я не до конца понимаю, что означает javadoc: javadockeepAliveTime when the number of threads is greater than the core, this is the maximum time that excess idle threads will wait for new tasks before terminating. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 15:31 |
|
||
|
Вопрос по ThreadPoolExecutor
|
|||
|---|---|---|---|
|
#18+
just_vladimirFor All, а что означает keepAliveTime? Видимо я не до конца понимаю, что означает javadoc: Как вы сами процитировали javadoc - the maximum time that excess idle threads will wait for new tasks before terminating. В предыдущем примере 5 потоков и 7 задач. Рано или поздно все задачи будут выполнены, и все 5 потоков будут ожидать новой задачи (а её нет) - находиться в состоянии idle . Если новая задача не появится раньше, чем закончится таймаут kepAliveTime, то поток завершается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 15:38 |
|
||
|
Вопрос по ThreadPoolExecutor
|
|||
|---|---|---|---|
|
#18+
For All, Спасибо! Еще раз, для закрепления, верно ли я понял, чтоkeepAliveTime это время жизни только для idle потоков? При этом ни на занятые какой либо задачей потоки, ни на ожидающие в очереди потоки влияния не оказывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 15:53 |
|
||
|
Вопрос по ThreadPoolExecutor
|
|||
|---|---|---|---|
|
#18+
Читать как: just_vladimirожидающие в очереди потокизадачи влияния не оказывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2014, 15:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38663768&tid=2127084]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
218ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 271ms |
| total: | 602ms |

| 0 / 0 |
