Tecnología

Inicio

Cómo sincronizar bloques de código en Java

El lenguaje de programación Java permite a los programadores escribir código que se ejecutará en paralelo en diferentes hilos. Si el equipo tiene más de un núcleo de procesador, los hilos realmente va a ejecutar en paralelo; de lo contrario, el procesador puede multiplexar sobre todos los threads ejecutables. Cuando varios subprocesos operan en el mismo recurso compartido, el código resultante sólo puede ser correcta si sólo un hilo a la vez opera en ese recurso. métodos sincronizados están garantizados para conservar esta propiedad: en un momento dado, a lo sumo, se permite una instancia de un método sincronizado para utilizar el recurso.

Instrucciones

1 Declarar una clase separada que contendrá código sincronizado, como en el siguiente ejemplo de código:

SynchronizationExample clase pública () {

}

2 Declarar el recurso compartido como un miembro de la clase "privado", como en el siguiente ejemplo de código:

SynchronizationExample clase pública () {

int accountBalance privada = 0;

}

3 Declarar los métodos que operan en el recurso compartido mediante el uso de la palabra clave "sincronizado", como en el siguiente ejemplo de código:

SynchronizationExample clase pública () {

int accountBalance privada = 0;

pública de depósito vacío sincronizada (cantidad int) {

accountBalance = accountBalance + amount;

}

rectificación pública sincronizado void (int cantidad) {

accountBalance = accountBalance - amount;

}

}

Puesto que están sincronizados, los métodos de "depósito" y "retirada" no va a ejecutar en paralelo; Si uno tiene que empezar cuando el otro está ejecutando, tendrá que esperar hasta que el primero para iniciar la ultima. Esto hace que las modificaciones al recurso compartido "accountBalance" thread-safe.