Strumenti Utente

Strumenti Sito


lpr-b-2007-2008:threadpoolrepository
package threadPool;
 
import java.util.LinkedList;
 
/**
 * classe che implementa il repository delle cose da calcolare
 * @author marcod
 */
 
public class Repository<T> {
 
	private LinkedList<T> ll = null; 
 
	public Repository() {
		super();
		ll = new LinkedList<T>();
	}
 
	/**
	 * inserzione di un elemento nel pool
	 * @param data il dato da inserire
	 */
	public synchronized void insert(T data) { 
		ll.add(data); 
		notify();
	} 
 
	/**
	 * estrazione dell'elemento più vecchio dal pool 
	 * @return il dato più vecchio nel pool (rimosso)
	 */
	public synchronized T extract() { 
		while(ll.isEmpty()) {
			try { wait(); } catch(InterruptedException e) { System.out.println("wait interrotta"); }
		}
		return ll.remove(); } 
}
lpr-b-2007-2008/threadpoolrepository.txt · Ultima modifica: 19/09/2008 alle 14:08 (16 anni fa) (modifica esterna)