Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cuál es el problema de la sincronización multiproceso en la programación de Windows? Si uso un archivo mapeado en memoria para controlar la sincronización de múltiples procesos, ¿cómo debo lograrlo?

¿Cuál es el problema de la sincronización multiproceso en la programación de Windows? Si uso un archivo mapeado en memoria para controlar la sincronización de múltiples procesos, ¿cómo debo lograrlo?

Imagínate una forma, no sé si es fácil de implementar:

1. Escribe al azar:

Define solo la palabra de estado de sincronización, como como el primero del archivo mapeado en memoria. El byte identifica si el proceso A está escribiendo (valor 1), el proceso B está escribiendo (valor 2) o ninguno de los procesos está escribiendo (valor 0).

En el proceso A, cuando se requiere escritura, el primer byte se lee primero. Si se encuentra que el primer byte es 0, se cambia a 1 y luego se escribe. El procesamiento de escritura del proceso B es similar al del proceso A.

2. Escritura segmentada:

El proceso A necesita escribir una sección y el proceso B necesita escribir otra sección. Si la división es razonable y las secciones no se superponen, entonces no es necesario considerar datos sucios.

En resumen, personalmente creo que es bastante difícil que los procesos A y B escriban en la misma ubicación al mismo tiempo sin almacenar datos sucios.

Lo intentaré cuando tenga la oportunidad y espero que surjan mejores respuestas.