Ok tutto risolto...erano le classi SemaforoBinario e SemaforoContatore, che avevano un errore...
Ora tutto funge, mi sembrava strano...la sincro era fatta bene.
L'unica cosa vorrei sapere, alla fine dell'esecuzione del main..NetBeans mi dice che l'ultimo thread è ancora in pausa, wait, bloccato dall'ultimo semaforo rosso.