Tengo una aplicación Python que, para ser breve, recibe datos de un servidor remoto, los procesa, responde al servidor y ocasionalmente guarda los datos procesados en el disco. El problema que he encontrado es que hay un lote de datos para escribir, y el proceso de guardado puede tardar más de medio minuto. Esto es aparentemente una operación de bloqueo, por lo que el IO de la red está bloqueado durante este tiempo. Me gustaría poder hacer que la operación de guardado se realice en segundo plano, por así decirlo, para que la aplicación pueda continuar comunicándose con el servidor de manera razonablemente rápida.¿Qué módulo de subprocesamiento debo usar para evitar que el disco IO bloquee la red IO?
sé que probablemente necesito algún tipo de módulo de roscar de lograr esto, pero no puedo decir cuáles son las diferencias entre thread
, threading
, multiprocessing
, y las otras opciones. ¿Alguien sabe lo que estoy buscando?
relacionado: http://stackoverflow.com/questions/2629680/deciding-between-subprocess-multiprocessing-and-thread-in-python –