Junior — Middle
Come si può configurare un pool di thread per evitare la creazione di thread inutili?
sobes.tech AI
Risposta dell'AI
Per evitare la creazione di thread inutili nel pool di thread, è necessario configurare correttamente i parametri del pool:
- Impostare un numero fisso o massimo limitato di thread. Ad esempio, usare
Executors.newFixedThreadPool(n), dovenè il numero di thread che possono funzionare contemporaneamente. - Usare una coda di task con limite di dimensione, in modo che i nuovi task non creino thread aggiuntivi oltre il limite.
- Configurare la politica di gestione dei task in caso di overflow della coda (ad esempio, rifiuto o attesa), per evitare di creare nuovi thread.
- Usare
ThreadPoolExecutorcon parametri corePoolSize e maximumPoolSize uguali, in modo che il pool non si espanda oltre la dimensione impostata.
Esempio di creazione di un pool di thread fisso in Android/Java:
ExecutorService executor = Executors.newFixedThreadPool(4); // massimo 4 thread