A linguagem de programação Java permite aos programadores escrever código que será executado em paralelo em diferentes segmentos. Se o computador tiver mais de um núcleo do processador , os fios vão realmente funcionar em paralelo , caso contrário , o processador será multiplexado sobre todos os segmentos executáveis . Quando vários segmentos operam no mesmo recurso compartilhado, o código resultante só pode ser correta se apenas um segmento em um tempo opera sobre esse recurso. Métodos sincronizados são garantidos para preservar esta propriedade: a qualquer momento , no máximo, uma instância de um método sincronizado é permitido o uso do recurso. Instruções
1
Declare uma classe separada que irá conter código sincronizado, como no seguinte exemplo de código :
SynchronizationExample classe pública () { }
Página 2
Declarar o recurso compartilhado , como um membro da classe "privado" , como no seguinte exemplo de código :
public class SynchronizationExample () {
private int AccountBalance = 0;
}
3
Declare os métodos que operam sobre o recurso compartilhado , usando a palavra-chave " sincronizado " , como no seguinte exemplo de código :
public class SynchronizationExample () {
private int AccountBalance = 0;
sincronizado depósito void ( int quantidade ) {
AccountBalance = AccountBalance + montante pública;
}
público sincronizado retirada void ( int quantidade ) {
AccountBalance = AccountBalance - quantidade ;
}
}
Desde eles são sincronizados , os métodos de "depósito" e "retirada" não será executado em paralelo , se é preciso começar quando o outro está em execução, ele vai ter que esperar até a primeira a iniciar concluído . Isso faz com que as modificações ao recurso compartilhado " AccountBalance " thread -safe .