Em java, o valor de retorno dentro do bloco sincronizado parece um estilo ruim. Isso realmente importa?
Tenho um Collections.synchronizedList de WeakReference, _components;
Eu escrevi algo como o seguinte, esperando o reclamante reclamar:
public boolean addComponent2(Component e) {
synchronized (_components) {
return _components.add(new WeakReference<Component>(e));
}
}
Mas o compilador está perfeitamente satisfeito. Observe que List.add () retorna VERDADEIRO. Então, ok, qualquer saída de um bloco sincronizado libera o bloqueio, mas isso não parece estranho? É como um "buraco" no bloco, semelhante ao uso de retorno em um loo
ocê gostaria de manter um código como ess