Primer version con monitores.
Implementado en Java por simplicidad en el uso de monitores. Segun entiendo
Object tiene el soporte de Monitores "simple" en Object (implementa wait, notify
y notifyAll). Hay una clase Monitor (no pude encontrar en que paquete) que soporta
Conditions y quedaria mas pulenta, pero para empezar creo que seria esto nomas.
La ventaja de utilizar Conditions, es que el Wait se hace sobre el condition y cuando
se libera un palito se despierta solo al thread que lo esta esperando siendo
"mas eficiente".
Si logro completar el ejemplo mas pulenta lo subo.