Gostaria de saber se alguém conhece algum objeto ou alguma API que ajude para desenvolver uma parte de um sistema.
A regra é a seguinte:
Tenho que ter um objeto aonde ficariam guardados dados do banco, eu estava pensando em um ArrayList, sendo que este objeto iria ser acessado por várias threads, que iram pegar os dados e enviar os mesmo por socket, recebendo a resposta do servidor este dado, que se encontrava dentro de um objeto( um list ), teria que ser removido. E as threads não podem pegar dados iguais.
Pelo que eu entendi, cada thread vai pegar a determinada informação e enviar para o servidor.
Acho que uma fila sincronizada seria interessante para esse caso.
Vou tentar explicar melhor.
Faço um select no banco, tenho várias linhas retornadas, essas linhas ficam em um objeto, como um list ou um map, este objeto vai ser acessado por várias threads ao mesmo tempo, eu queria q este objeto me garantisse que não iria mandar para as threads linhas repetidas e que não pudesse passar de um limite de linhas pré-definidas anteriormente.
E quando as threads acabarem de processsar os dados de uma determinada linha eu possa matar ele do list ou do map.
Ficou melhor?
Você precisa ter uma classe que seja um “porteiro” para esse list, map, queue, priority queue, ou seja lá o que for.
Esse “porteiro” deve dispor de um método para obter o próximo dado, e um método para eliminar um determinado dado que já foi processado.
De qualquer maneira, é sempre bom dar uma olhada nesta página: