lpr-b:threadpoolrepository
no way to compare when less than two revisions
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
— | lpr-b:threadpoolrepository [05/10/2007 alle 13:04 (17 anni fa)] (versione attuale) – creata Marco Danelutto | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | <code java> | ||
+ | package threadPool; | ||
+ | import java.util.LinkedList; | ||
+ | |||
+ | /** | ||
+ | * classe che implementa il repository delle cose da calcolare | ||
+ | * @author marcod | ||
+ | */ | ||
+ | |||
+ | public class Repository< | ||
+ | |||
+ | private LinkedList< | ||
+ | |||
+ | public Repository() { | ||
+ | super(); | ||
+ | ll = new LinkedList< | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * inserzione di un elemento nel pool | ||
+ | * @param data il dato da inserire | ||
+ | */ | ||
+ | public synchronized void insert(T data) { | ||
+ | ll.add(data); | ||
+ | notify(); | ||
+ | } | ||
+ | |||
+ | /** | ||
+ | * estrazione dell' | ||
+ | * @return il dato più vecchio nel pool (rimosso) | ||
+ | */ | ||
+ | public synchronized T extract() { | ||
+ | while(ll.isEmpty()) { | ||
+ | try { wait(); } catch(InterruptedException e) { System.out.println(" | ||
+ | } | ||
+ | return ll.remove(); | ||
+ | } | ||
+ | </ |
lpr-b/threadpoolrepository.txt · Ultima modifica: 05/10/2007 alle 13:04 (17 anni fa) da Marco Danelutto