Olá tenho a seguinte situação … minha duvida está no final.
Por se tratar de um software que está sendo desenvolvido para terceiros não fui autorizado a postar o código. Mas vou tentar colocar em pseudocodigo o básico.
classe faztudo {
instacia gerente ger;
ger.novo_trabalhador("w1","canal de comunicação")
}
classe gerente {
novo_trabalhador (string t, string c){
instacia trabalhador trab;
trab.quemehmeugerente("canal de comunicação", gerente).
add trab na fila de trabalhadores
trab.setarID
envia_trabalhado_se_Puder()
}
envia_trabalhado_se_Puder() {
se existir trabalhador na fila pega um trabalho e envia
trab.novotrabalho(trabalhoID, trablhado)
}
recebe_resposta(IDdotrabalhador, resposta){
[b]pego o a reposta e adiciono em uma fila de respostas. e preciso pegar esse trabalhador e adicionar na fila de trabalhadores novamente; o problema é que essa fila ela adiciona "classe trabalhador" e nao o IDdotrabalhador. eu não estou entendendo como fazer o processo inverso, digamos assim :D. [/b]
}
} // FIM DA CLASSE GERENTE
classe trabalhador() {
Gerente ger;
quemehmeugerente("canal de comunicação", gerente) {
ger = gerente;
}
novotrabalho(trabalhoID, trablhado) {
pega o trabalho, adiciona em uma fila, e resolve, adiciona em uma outra fila a resposta
}
pega a resposta da fila, e envia a resposta para o gerente
ger.recebe_resposta(IDdotrabalhador, resposta);
}
Bom, eu não posso mesmo postar o código, basicamente o funcionamento é esse descrito acima, e se vocês poderem me ajudar com o que tem aí, fico grato. A minha duvida esta destacada em NEGRITO, ou seja, eu não sei o que fazer quando um gerente recebe a resposta do trabalhador, pois após esse trabalhador enviar a resposta quer dizer que ele está livre, e preciso add ele a fila de trabalhadore mas essa fila só aceita a classe trabalhador. Se ainda poder ajudar, a fila está declarada da seguinte forma:
Vector workers = new Vector();