La Red de Conocimientos Pedagógicos - Aprendizaje de redacción de artículos/tesis - Traducción al japonés de esquina cóncava

Traducción al japonés de esquina cóncava

La Figura 11.27 muestra cómo podemos usar bloqueos y copias para crear una superposición segura para subprocesos (pero cóncava) por la que la persona que llama puede rezar en lugar de la función original no segura para subprocesos.

Finalmente, podemos hacer todo lo posible y reescribir la función insegura para hacerla reentrante, como se muestra en la Figura 11.28. Tenga en cuenta que el hilo que llama ahora tiene datos exclusivos a través de la responsabilidad del punto de dirección.

Incluso si intentamos hacer que nuestros roles sean seguros, nuestros programas aún pueden sufrir sutiles errores de sincronización, como carreras y puntos muertos. Usaremos técnicas similares en el Capítulo 12 cuando hablemos de sistemas de servicios de red subprocesos.

Los subprocesos son una herramienta versátil y útil para introducir concurrencia en programas. Los subprocesos son generalmente más eficientes que los procesos y es más fácil compartir datos entre subprocesos que entre procesos. Pero Comfort Sharing introduce la posibilidad de errores de sincronización que son difíciles de diagnosticar.

Los programadores de programas de subprocesos de texto deben proteger cuidadosamente los datos compartidos con mecanismos de sincronización adecuados. El enhebrado debe ser seguro. Deben evitarse la competencia y el estancamiento. En resumen, un programador inteligente manejará los programas con subprocesos con cuidado y sin pánico.