Estaba leyendo sobre el GIL y nunca especificó si esto incluye el hilo principal o no (supongo que sí). La razón por la que pregunto es porque tengo un programa con una configuración de hilos que modifica un diccionario. El hilo principal se agrega/elimina en función de la entrada del reproductor, mientras que un hilo realiza un bucle de actualización de datos y cambio de datos.Enlazado de Python y GIL
Sin embargo, en algunos casos, un hilo puede iterar sobre las teclas del diccionario donde podría eliminarlas. Si hay un llamado GIL y se ejecutan de forma secuencial, ¿por qué estoy recibiendo errores modificados? Si se supone que solo uno se ejecutará a la vez, entonces técnicamente esto no debería suceder.
¿Alguien puede arrojar algo de luz sobre tal cosa? Gracias.
En general, el subproceso de Python solo tiene sentido para los subprocesos vinculados a E/S. Si quiere que la coherencia acceda a las estructuras de datos en paralelo, necesita un bloqueo explícito. Si necesita un paralelismo con CPU, generalmente debe usar algo completamente diferente. – 9000