Porque quando faço o print do hashcode dentro do método run() de ProduzMensagens o hashcode de mensagens é alterado cada vez que adiciona uma nova mensagem? Não deveria ser o mesmo hashcode? Já que a ArrayList é passada por referencia?
@Override
public void run() {
for (int i = comeco; i < fim; i++) {
mensagens.add("Mensagem " + i);
}
System.out.println("hashcode dentro de ProduzMensagens" + mensagens.hashCode());
}