Hi!
Estive estudando algumas alternativas para melhor solucionar meu problema de criar três grupos de threads onde todas precisam funcionar ora como produtoras ora como consumidoras. Estes três grupos precisarão trocar informações, i.e., algumas vezes o grupo 1 pode ser produtor para o grupo 2 e o grupo 2 produtor para o grupo 3.
Diante das alternativas que li: ThreadGroup, Work Queue, SynchronizedBuffer e ArrayBlockingQueue, pensei em criar 3 buffers de dados, para proporcionar a sincronização em cada grupo e permitir a “troca” de dados entre eles, mas não estou certa se seria a melhor saída…
Outra dúvida é quando à sincronização proporcionada pelo buffer pois, quando não existirem dados para serem consumidos, eu tenho uma ação default a ser executada e na maioria das vezes não será necessário esperar para que um dado seja produzido.
Resumindo: acho que neste caso não preciso utilizar threads, certo?
Alguma dica? Preciso sair desse dilema!!
Thanks!
Luka.