Continuo a non capire cosa vuoi fare... vuole essere un producer/consumer, tipo che il thread secondario produce degli elementi accodandoli in memo e il main li stampa? Perché così com'è ora è un mezzo pasticcio, il thread libera il semaforo prima di aver scritto e il main, dopo che è stato sbloccato la prima volta, va avanti ad auto-sbloccarsi indefinitamente...