Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Por ejemplo, cuando un hilo está escribiendo en un archivo, se debe evitar que un
segundo hilo lo haga al mismo tiempo. Otra razón para la sincronización es cuando un hilo
está esperando un evento causado por otro hilo. En este caso, debe haber algún medio
por el cual el primer hilo se mantenga en estado suspendido hasta que ocurra el evento.
Entonces, el hilo de espera debe reanudar la ejecución.
1
Puede sincronizar el acceso a un método modificándolo con la palabra clave.
Cuando se llama a ese método, el hilo de llamada entra en el monitor del
objeto, que luego bloquea el objeto.
Mientras está bloqueado, ningún otro hilo puede ingresar al método, o ingresar
cualquier otro método sincronizado definido por la clase del objeto.
Cuando el hilo retorna del método, el monitor desbloquea el objeto, permitiendo
que sea utilizado por el siguiente hilo. Por lo tanto, la sincronización se logra
con prácticamente ningún esfuerzo de programación de tu parte.
El siguiente programa muestra la sincronización al controlar el acceso a un
método llamado sumArray(), que suma los elementos de una matriz de enteros.
2
3
Siempre que se utilice un método o grupo de métodos que manipule el estado interno de
un objeto en un entorno multihilo, se debe hacer uso de la palabra reservada synchronized
para evitar las situaciones de carrera en el sistema. Es importante darse cuenta de que una
vez que un hilo entra en un método sincronizado de una instancia, ningún otro hilo puede
entrar en otro método sincronizado.
En realidad, fue una práctica muy fácil ya que en la materia de tópicos avanzados de
programación vimos todo lo relacionado con hilos y sincronización.
https://javaparajavatos.wordpress.com/2017/09/30/introduccion-a-la-sincronizacion/
Walton, A. (2020, 2 mayo). ▷ Sincronización de Hilos en Java con Ejemplos. Java desde
Cero. https://javadesdecero.es/avanzado/sincronizacion-de-hilos/