Adicionando locks e corrigindo problema do wait