Si confía en una implementación de Python que tiene un bloqueo de intérprete global (es decir, CPython) y escribe código multiproceso, ¿realmente necesita bloqueos?¿Los bloqueos son innecesarios en el código de Python de subprocesos múltiples debido a GIL?
Si el GIL no permite que se ejecuten varias instrucciones en paralelo, ¿no sería innecesario proteger los datos compartidos?
lo siento si esta es una pregunta tonta, pero es algo que siempre me he preguntado acerca de Python en máquinas multiprocesador/núcleo.
Lo mismo se aplicaría a cualquier otra implementación de idioma que tenga un GIL.
También tenga en cuenta que el GIL y es detalle de implementación. IronPython y Jython, por ejemplo, no tienen un GIL. –