/** Loop principal Gera pedidos aleat�rios para fornecedores aleat�rios */ public void run() { Pedido pedido = new Pedido(); for (; ; ) { try { Thread.sleep(Projeto2.randInt(500)); } catch (InterruptedException e) { Projeto2.setVerbose(true); Projeto2.debug("interrompido enquanto dormia"); return; } for (Cana g : Cana.values()) { pedido.set(g, Projeto2.randInt(1, 10)); } Cana g = Cana.randChoice(); Projeto2.debug("solicitando %s ao atravessador de cana %s", pedido, g); try { Projeto2.especialista(g).get(pedido); } catch (InterruptedException e) { Projeto2.setVerbose(true); Projeto2.debug( "interrompido durante solicita��o%n" + " %s do fornecedor de cana %s", pedido, g); return; } Projeto2.debug("recebi %s do fornecedor de cana %s", pedido, g); consome(pedido); } } // run()