Synchronized e Volatile

1 resposta
renamed

Olá.

Uma pergunta, quando eu crio um atributo como volatile eu preciso criar o método como synchronized?

private volatile No primeiro = null;
	private volatile No ultimo = null;
	private volatile int tamanho = 0;

 public synchronized void limparFila() {
		primeiro = ultimo = null;
		tamanho = 0;

		new Thread(new Runnable() {
			public void run() {
				System.gc();

			}
		}).start();
	}

Vale lembrar que outros métodos também usam esse atributos.

Obrigado.

1 Resposta

ViniGodoy

Se seus métodos única e exclusivamente setam e lêem valores de um só desses atributos por vez, não.

Caso contrário sim. Aí é melhor até tirar fora a palavra volatile deles.

Criado 11 de outubro de 2010
Ultima resposta 11 de out. de 2010
Respostas 1
Participantes 2