Em termos sim. A diferença em que myMetodA() todo o código estrito dentro do corpo dele será sincronizado. Já no myMetodB () somente o codigo dentro do bloco sincronizado será sincronizado.
leandro.alves
Intendi… era o que eu imaginava, aproveitando …
Para sincronizar em um objeto estático e melhor que ou é necessário que o contexto também seja estático ?
walissongpi
leandro.alves:
Intendi… era o que eu imaginava, aproveitando …
Para sincronizar em um objeto estático e melhor que ou é necessário que o contexto também seja estático ?
HUm… não entendi sua pergunta (demoro entender). Pode reformula-la?
public class SyncTest {
public static String stringVar;
public static void methodB(){
synchronized(stringVar){
/* CODE */
}
}
}
É "melhor" que isso :
public class SyncTest {
public static String stringVar;
public void methodB(){
synchronized(stringVar){
/* CODE */
}
}
}
Os códigos acima estão identicos, mas eu entendi sua dúvida. Blocos sincronizados são mais recomendados do que métodos sincronizados porque o bloco é mais específico. Só use métodos sincronizados quando todo o código do corpo do método exigir. :D