W kontynuacji do question zamieszczonych przeze mnie, próbuję użyć ThreadPoolExecutor w mojej bazie kodów. Nawet po wielokrotnych próbach zrozumienia z dokumentu Java API nie udało mi się jasno zrozumieć funkcji/celu parametru keepAliveTime
do przekazania w konstruktorze. Mam nadzieję, że ktoś może mi wytłumaczyć dobrym przykładem.Jak działa Keep-alive z ThreadPoolExecutor?
Fragmenty Java Doc:
public ThreadPoolExecutor(int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
BlockingQueue<Runnable> workQueue)
keepAliveTime
- gdy liczba wątków jest większa niż rdzeń, to maksymalny czas, że nadmiar nici idle będzie czekać na nowe zadania przed zakończeniem.
Podobnie jak punkt terminologii, masz dwa razy użył słowa „wdrożenie”, gdy myślę, że po prostu znaczy „użytkowania”. Nie próbujesz * zaimplementować * 'ThreadPoolExecutor', pisząc własny kod implementujący ten interfejs API - właśnie tworzysz' ThreadPoolExecutor' i chcesz wiedzieć, jak będzie się zachowywał, prawda? –
Tak, masz rację. Po prostu miałem na myśli, że jest to nowy rodzaj implementacji w mojej bazie kodu. – Gnanam
Ale to nie jest implementacja * 'ThreadPoolExecutor'. To naprawdę pomocne, jeśli możesz odpowiednio użyć terminologii - * szczególnie * w Stack Overflow. –