Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es el principio básico de la sincronización?

¿Cuál es el principio básico de la sincronización?

Cuando la máquina virtual ejecuta la instrucción monitorenter, solicitará obtener el bloqueo del monitor del objeto y derivar el concepto de un contador de bloqueo basado en el bloqueo del monitor.

Cuando se ejecuta monitorenter, si el objeto no está bloqueado, o el hilo actual ya posee el bloqueo del monitor del objeto, el contador de bloqueo es +1 y el hilo adquiere el bloqueo del objeto.

Cuando se ejecuta monitorexit, el contador de bloqueo es -1. Cuando el contador llega a 0, se libera el bloqueo del objeto. Luego, otros subprocesos bloqueados pueden solicitar adquirir el bloqueo del monitor.

Datos extendidos

Características de la sincronización

1. Atomicidad

La atomicidad se refiere a una operación o múltiples operaciones, o todas se ejecutan y las El proceso de ejecución no será interrumpido por ningún factor, o no se ejecutará en absoluto.

2. Visibilidad

Visibilidad significa que cuando varios subprocesos acceden a un recurso, la información de estado y valor del recurso es visible para otros subprocesos.

3. Perfectamente

El orden de ejecución del programa de valor ordenado es consistente con el orden del código.

4. Reentrada

Los bloqueos de sincronización y los bloqueos reentrantes son ambos bloqueos reentrantes. Cuando un subproceso intenta operar un recurso crítico de un bloqueo de objeto retenido por otro subproceso, estará en un estado de bloqueo, pero cuando un subproceso solicita nuevamente un recurso crítico de su propio bloqueo de objeto, esta situación es un bloqueo reentrante.