Gostaria de saber se me podiam dar uma sugestão de como resolver o seguinte problema de threads, sincronização e partilha de dados entre threads.
-> O problema é o seguinte tenho a thread TC que tem um vector de inteiros de 1-100. Depois tenho as Threads TA=TB (iguais) que têm também vectores de inteiros, mas vazios. TA e TB vao pedir a TC um valor do vector (exemplo TA pede: dá-me o valor que tens na posição 5 do teu vector) e TC guarda quem levou esse valor. Se TA pedir um valor a TC e este já o deu a outra thread, então TC pede à outra thread o valor e dá-o a TA.
Não sei se consegui explicar bem o problema.
(pede um valor) -> <- (pede um valor)
{ TA } --------------------------- { TC } ---------------------------- { TB }
[vector] |
[ ] v
[ … ] Recebe um pedido (de um valor) de TA ou TB,
verifica se tem esse valor, caso contrário pede o valor
a quem o tiver. Quem o tiver envia-o para TC e este envia
para que o pediu!
Gostaria que dessem uma sugestão de como implementar isto em java usando threads. Eu sei como usar threads, o meu problema é como comunicar entre elas de modo eficiente. Tinha pensado numa classe que servia de canal, talvez.
Obrigado pelo tempo desperdiçado a ler este problema.
Obrigado pela ajuda prestada.
Threads
C
1 Resposta
R
Daí
Conseguiu resolver o problema ?
Podes postar a solução pra gente poder ter aqui no fórum ?
[]s
Criado 10 de maio de 2003
Ultima resposta 6 de mai. de 2005
Respostas 1
Participantes 2