Hogar Desarrollo ¿Qué es la sincronización de subprocesos? - definición de techopedia

¿Qué es la sincronización de subprocesos? - definición de techopedia

Tabla de contenido:

Anonim

Definición: ¿Qué significa la sincronización de subprocesos?

La sincronización de subprocesos es la ejecución concurrente de dos o más subprocesos que comparten recursos críticos. Los subprocesos deben sincronizarse para evitar conflictos de uso de recursos críticos. De lo contrario, pueden surgir conflictos cuando los subprocesos de ejecución paralela intentan modificar una variable común al mismo tiempo.

Techopedia explica la sincronización de hilos

Para aclarar la sincronización de subprocesos, considere el siguiente ejemplo: tres subprocesos, A, B y C, se ejecutan simultáneamente y necesitan acceder a un recurso crítico, Z. Para evitar conflictos al acceder a Z, los subprocesos A, B y C deben sincronizarse . Por lo tanto, cuando A accede a Z y B también intenta acceder a Z, el acceso de B a Z debe evitarse con medidas de seguridad hasta que A termine su operación y salga de Z.


En Java, se utilizan dos estrategias de sincronización para evitar interferencias de subprocesos y errores de coherencia de memoria:

  • Método sincronizado: incluye la palabra clave sincronizada en su declaración. Cuando un subproceso invoca un método sincronizado, el método sincronizado adquiere automáticamente el bloqueo intrínseco para el objeto de ese método y lo libera cuando el método regresa, incluso si ese retorno fue causado por una excepción no detectada.
  • Declaración sincronizada: declara un bloque de código para sincronizar. A diferencia de los métodos sincronizados, las declaraciones sincronizadas deben especificar los objetos que proporcionan el bloqueo intrínseco. Estas declaraciones son útiles para mejorar la concurrencia con la sincronización de grano fino, ya que permiten evitar bloqueos innecesarios.

¿Qué es la sincronización de subprocesos? - definición de techopedia