Está en la página 1de 6

Instituto Tecnológico de Tepic

Ingeniería en sistemas computacionales


Materia: Sistemas Operativos I
Unidad 2: Administración del procesador y procesos
Implementación con java un mecanismo de
sincronización de procesos
Alumnos:
Enciso Luna Cristian Gerardo 19400563
Paredes Curiel Sebastián 18401174
Aguilar Valdivia Josué Nomar 18401079
Catedrático: Efraín Padilla Valera
Fecha de entrega: 25 de octubre de 2021
Al usar múltiples hilos, a veces es necesario coordinar las actividades de dos o más. El
proceso por el cual esto se logra se llama sincronización (synchronization). La razón más
común para la sincronización es cuando dos o más hilos necesitan acceso a un recurso
compartido que solo puede ser utilizado por un hilo a la vez.

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.

Elorduy, V. T. L. E. D. G. (s. f.). Introducción a la sincronización. Java a tu alcance.

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/

También podría gustarte