Junior — Middle
Hoe kunt u een threadpool configureren om het aanmaken van onnodige threads te voorkomen?
sobes.tech AI
Antwoord van AI
Om onnodige threads in de threadpool te voorkomen, moet je de poolparameters correct configureren:
- Stel een vaste of beperkte maximale hoeveelheid threads in. Bijvoorbeeld door
Executors.newFixedThreadPool(n)te gebruiken, waarbijnhet aantal threads is dat gelijktijdig kan werken. - Gebruik een taakwachtrij met een limiet op de grootte, zodat nieuwe taken geen extra threads creëren boven de limiet.
- Configureer het beleid voor het afhandelen van taken bij overflow van de wachtrij (bijvoorbeeld afwijzen of wachten), om het creëren van nieuwe threads te voorkomen.
- Gebruik
ThreadPoolExecutormet gelijke corePoolSize en maximumPoolSize, zodat de pool niet uitbreidt boven de ingestelde grootte.
Voorbeeld van het maken van een vaste threadpool in Android/Java:
ExecutorService executor = Executors.newFixedThreadPool(4); // maximaal 4 threads