Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
La gestione dei thread pool in Java (1/2)
Scritto da Francesco Carotenuto il 22-12-2009 ore 10:51
Intel Software
Nella programmazione distribuita, in particolar modo per quanto riguarda la programmazione di web server, non è insolito ricorrere ai thread pool, che consentono di poter gestire molteplici richieste HTTP provenienti da più client contemporaneamente.

Pertanto, considerando il trattamento di una singola richiesta HTTP un task da eseguire, un thread pool, composto da n thread già istanziati, che implementano tale task, è in grado di eseguire n richieste in parallelo, fermo restando la possibilità di poter estendere il pool con nuovi thread, nei casi di picco di richieste contemporanee.

Anche Java fornisce, a partire dalla versione 1.5 e affinata nella successiva 1.6, una soluzione per una corretta gestione dei thread pool, che è contenuta all'interno della classe java.util.concurrent.Executors, in cui sono presenti alcune factory che consentono di creare diverse tipologie di thread pool che in Java utilizzano la classe ExecutorService. In particolare ci occuperemo del thread pool creato utilizzando la factory definita nel metodo newCachedThreadPool(n), dove n è il numero di thread minimo che si desidera avere nel pool.

La principale caratteristica di un oggetto che implementa l'interfaccia ExecutorService, creato con il metodo newCachedThreadPool, è quella di implementare un thread pool che riutilizza i thread ad esso sottomessi, creandone dei nuovi quando è necessario, e questo è esattamente il thread pool utilizzato dai web server come Apache.
Precedente: Google, un resoconto del 2009
Successiva: Vestire di nuovo Firefox con Personas 2.0
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.913 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.