Estoy haciendo un programa para ejecutar simulaciones en Python, con una interfaz wxPython. En el programa, puede crear una simulación, y el programa la representa (= calcula) por usted. La representación puede tomar mucho tiempo a veces.Multiprocesamiento o multiprocesamiento?
Cuando el usuario inicia una simulación y define un estado inicial, quiero que el programa muestre la simulación continuamente en segundo plano, mientras que el usuario puede estar haciendo cosas diferentes en el programa. Algo así como una barra de estilo de YouTube que se llena: puedes reproducir la simulación solo hasta el punto que se procesó.
¿Debo usar múltiples procesos o múltiples hilos, o qué? La gente me dijo que usara el paquete multiprocessing
, lo revisé y se ve bien, pero también escuché que los procesos, a diferencia de los hilos, no pueden compartir mucha información (y creo que mi programa necesitará compartir mucha información). .) Además, también escuché sobre Stackless Python: ¿Es una opción separada? No tengo idea.
Por favor, asesorar.
Me preocupa su "Creo que mi programa necesitará compartir mucha información", ¿quiere decir que aún no lo sabe? Tal vez deberías estar haciendo más trabajo de diseño. El módulo de multiprocesamiento es poco compatible con el módulo de roscado, por lo que la conmutación no debería ser un gran esfuerzo. Pero ten cuidado con GIL que me haría favorecer el multiprocesamiento. – CyberFonic