Synchronized

2 respostas
V

ae eu estava tentando entender um codigo-fonte de um programa aqui, e me deparei com a palavra synchronized
O que é isso?? alguem pode me explicar?

O algoritmo segue abaico

boolean enqueue(Reference r) { /* Called only by Reference class */ synchronized (r) { if (r.queue == ENQUEUED) return false; synchronized (lock) { r.queue = ENQUEUED; r.next = (head == null) ? r : head; head = r; queueLength++; lock.notifyAll(); return true; } } }

2 Respostas

O

é usado para controle de acesso, normalmente qdo se tem multi-threads evolvidas. No seu caso, vc está idicando para o método enqueue() acessar o objeto r (Reference r) de forma sincrona, a fim de nao ter problemas de concorrencia, impasse e coisas do genero.

H

Um texto simples explicando o conceito pode ser encontrado no link abaixo:

http://javaresende.com.br/servlet/artigo.PubMostraArtigo?artid=1&arquivo=A1/sincronismo.html

Criado 30 de novembro de 2004
Ultima resposta 30 de nov. de 2004
Respostas 2
Participantes 3