JTextArea - Acessada por várias threads

5 respostas
E

Em um determinado componente tenho algo parecido com o seguinte:

private JTextArea areaDeTexto = new JTextArea();

public void insereMensagem(String mensagem)
{
   areaDeTexto.append(mensagem);
}

Eu tenho uma série de threads que acessam esse componente e chamam o método insereMensagem. Seria sensato sincronizar o método, ou neste caso é irrelevante?

Obrigado.

5 Respostas

B

Ola,

Acho interessante a sincronizacao sim.

ViniGodoy

É irrelevante. A implementação do método append é thread-safe.
Seu método também não altera o parâmetro, ou lê qualquer variável compartilhada que vá mudar de valor.

Por vias das dúvidas, você pode declarar o seu JTextArea como final.

E

Veja só…Eu achei que o swing inteiro não fosse thread safe…

ViniGodoy

Não leu o Javadoc do append?

Lá está escrito:
“This method is thread safe, although most Swing methods are not. Please see How to Use Threads for more information.”

E

É li…Devo ter deixado escapar algumas coisas. Maldita leitura dinâmica, hehe…

Foi mal ai…Na próxima presto mais atenção…

Criado 5 de julho de 2008
Ultima resposta 6 de jul. de 2008
Respostas 5
Participantes 3