Какой модуль потоковой передачи мне следует использовать, чтобы дисковый ввод-вывод не блокировал сетевой ввод-вывод?

У меня есть приложение Python, которое, если кратко, получает данные с удаленного сервера, обрабатывает их, отвечает серверу и иногда сохраняет обработанные данные на диск. Проблема я Мы столкнулись с тем, что необходимо записать много данных, а процесс сохранения может занять до получаса. Очевидно, это операция блокировки, поэтому сетевой ввод-вывод в это время останавливается. Я бы хотел, чтобы операция сохранения происходила в фоновом режиме, так сказать, чтобы приложение могло продолжать достаточно быстро обмениваться данными с сервером.

Я знаю, что мне, вероятно, понадобится какой-то модуль threading для этого, но я не могу сказать, в чем разница между thread , threading , multiprocessing и различными другими вариантами. Кто-нибудь знает, что я? м ищу?

5
задан Fraxtil 16 October 2010 в 20:20
поделиться