kleberdamasco 10 de jan. de 2013
já ouviu falar do modificador synchronized ?
public synchronized retorno nomeMetodo () {
// do something
}
tveronezi 10 de jan. de 2013
Use…
public List < Usuarios > listaUsuarios = Collections . synchronizedList ( new ArrayList <> ());
SirDominque 10 de jan. de 2013
tveronezi:
Use…
public List < Usuarios > listaUsuarios = Collections . synchronizedList ( new ArrayList <> ());
Muito Obrigado, foi isso mesmo que tentei fazer, mas da esse Erro :
incompatible types
required: ArrayList<Usuarios>
found: List<Object>
Devo mudar mey ArrayList pra List?
kleberdamasco 10 de jan. de 2013
Andre Lopes:
tveronezi:
Use…
public List < Usuarios > listaUsuarios = Collections . synchronizedList ( new ArrayList <> ());
Muito Obrigado, foi isso mesmo que tentei fazer, mas da esse Erro :
incompatible types
required: ArrayList<Usuarios>
found: List<Object>
Devo mudar mey ArrayList pra List?
assim deve funcionar…
public List < Usuarios > listaUsuarios = Collections . synchronizedList ( new ArrayList < Usuarios > ());
entanglement 10 de jan. de 2013
Atenção: o uso de uma coleção sincronizada garante apenas que ela é coerente. Não garante que seu programa vai estar certo.
Normalmente, você precisa sincronizar não a coleção, mas o seu acesso.
Por exemplo, digamos que você queira localizar uma conexão e se achada, encerrá-la. Provavelmente você teria de escrever algo como:
synchronized ( listaDeConexoes ) {
if ( achou uma conex ão adequada na lista de conex ões para ser encerrada ) {
encerrar a conex ão ;
remover a conex ão da lista de conex ões ;
}
}
O simples uso de Collections.synchronizedList não garante isso.