¿Qué es la sincronización ejemplos?
Ejemplos de cosas que se sincronizan
Resumen
Este artículo necesita citas adicionales para su verificación. Por favor, ayude a mejorar este artículo añadiendo citas de fuentes fiables. El material sin fuente puede ser cuestionado y eliminado.Buscar fuentes: “Sincronización” informática – noticias – periódicos – libros – scholar – JSTOR (noviembre de 2023) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
En informática, la sincronización se refiere a uno de los dos conceptos distintos pero relacionados: la sincronización de procesos y la sincronización de datos. La sincronización de procesos se refiere a la idea de que varios procesos se unan o se den la mano en un punto determinado, con el fin de llegar a un acuerdo o comprometerse a una determinada secuencia de acción. La sincronización de datos se refiere a la idea de mantener múltiples copias de un conjunto de datos en coherencia entre sí, o para mantener la integridad de los datos. Las primitivas de sincronización de procesos se utilizan habitualmente para implementar la sincronización de datos.
La necesidad de sincronización no surge únicamente en los sistemas multiprocesadores, sino en cualquier tipo de proceso concurrente, incluso en los sistemas de un solo procesador. A continuación se mencionan algunas de las principales necesidades de sincronización:
¿Qué es la sincronización en el sistema operativo?
Se dice que dos procesos son cooperativos si la ejecución de un proceso afecta a la ejecución de otro. Estos procesos necesitan estar sincronizados para que el orden de ejecución pueda ser garantizado.
En el momento en que más de un proceso está ejecutando el mismo código o accediendo a la misma memoria o a cualquier variable compartida; En esa condición, existe la posibilidad de que la salida o el valor de la variable compartida sea incorrecto por lo que para ello todos los procesos están haciendo la carrera para decir que mi salida es correcta. Esta condición es comúnmente conocida como condición de carrera. Como varios procesos acceden y procesan las manipulaciones en los mismos datos de manera concurrente y debido a que el resultado depende del orden particular en el que se produce el acceso a los datos.
Principalmente esta condición es una situación que puede ocurrir dentro de la sección crítica. La condición de carrera en la sección crítica ocurre cuando el resultado de la ejecución de múltiples hilos difiere según el orden en que se ejecutan los hilos. Pero esta condición en las secciones críticas puede ser evitada si la sección crítica es tratada como una instrucción atómica. Una sincronización adecuada de los hilos mediante bloqueos o variables atómicas también puede evitar las condiciones de carrera.
Sincronización
El multithreading y la sincronización son un tema muy importante para cualquier programador de Java. Un buen conocimiento del multithreading, de la sincronización y de la seguridad de los hilos puede ponerte por delante de otros desarrolladores, al mismo tiempo, no es fácil dominar este concepto. De hecho, escribir código concurrente correcto es una de las cosas más difíciles, incluso en Java, que tiene varias utilidades de sincronización incorporadas. En este tutorial de sincronización de Java aprenderemos qué significa la sincronización en Java, por qué necesitamos la sincronización en Java, qué es la palabra clave java synchronized, ejemplos de uso de métodos y bloques sincronizados en Java, qué puede ocurrir en el código multithreading en ausencia de construcciones sincronizadas, consejos para evitar errores, mientras se bloquea la sección crítica en Java y algunos de los puntos importantes sobre la sincronización en Java.
Java proporciona diferentes construcciones para proporcionar la sincronización y el bloqueo, por ejemplo, la palabra clave volátil, la variable atómica, el bloqueo explícito utilizando la interfaz java.util.concurrent.lock.Lock y sus implementaciones populares, por ejemplo, ReentrantLock y ReentrantReadWriteLock, se hace aún más importante entender la diferencia entre las construcciones sincronizadas y otras.
Ejemplos de sincronización en la naturaleza
La sincronización es la coordinación de eventos para que un sistema funcione al unísono. Por ejemplo, el director de una orquesta mantiene a la orquesta sincronizada o en tiempo. Los sistemas que funcionan con todas sus partes sincronizadas se denominan síncronos o sincronizados y los que no lo están son asíncronos.
El mantenimiento del tiempo y la sincronización de los relojes es un problema crítico en la navegación oceánica de larga distancia. Antes de la radionavegación y de la navegación por satélite, los navegantes necesitaban la hora exacta junto con las observaciones astronómicas para determinar la distancia al este o al oeste de su barco. La invención de un cronómetro marino preciso revolucionó la navegación marítima. A finales del siglo XIX, los puertos importantes proporcionaban señales horarias en forma de cañón de señales, bandera o bola de tiempo que caía para que los marineros pudieran comprobar y corregir los errores de sus cronómetros.
La sincronización fue importante en el funcionamiento de los ferrocarriles del siglo XIX, ya que fueron los primeros medios de transporte lo suficientemente rápidos como para que las diferencias en la hora media local entre ciudades cercanas fueran perceptibles. Cada línea resolvía el problema sincronizando todas sus estaciones con la central como hora ferroviaria estándar. En algunos territorios, las compañías compartían una misma vía férrea y debían evitar colisiones. La necesidad de mantener un horario estricto llevó a las compañías a establecer un estándar, y las autoridades civiles acabaron abandonando la hora media local en favor de la hora ferroviaria.