Threads ... pool de conexão.... deixar o cara esperando

Como que eu faço isso ai com threads???

o processo e simples… quero q se não tiver conexão… o cidadão que me pediu a conexão espere a ter ter uma …

[code] public synchronized Connection getConnection()
{
if (conns.isEmpty()){wait();}
return (Connection)conns.getFirst();
}

public synchronized void putConnection(Connection conn)
{
	conns.addLast(conn);
	notify();
}[/code]

sei q assim naum funciona… mas como é q faz…

Ps.: to morrendo de sono

bom… eu to tentando assim

[code] private LinkedList conns = null;
private Object sleep = null;
public synchronized Connection getConnection(Object request)
{
try {
synchronized(request) {
if (conns.isEmpty())
{
sleep = request;
sleep.wait();
}
}
return (Connection)conns.getFirst();
} catch (Exception ex){}
return null;
}

public synchronized void putConnection(Connection conn)
{
	conns.addLast(conn);
	if (sleep != null){
		sleep.notify();
		sleep = null;
	}
	
}[/code]