У вас есть два варианта: Thread
с или Process
эс. Первым разрешено совместно использовать память, но они ограничены в том, что они могут делать одновременно, поэтому вы можете, например, использовать переменные для совместного использования результатов, но вам придется использовать блокировки, чтобы избежать гонок fdata.
На другие побочные процессы не позволяют совместно использовать память, получая полный параллелизм на уровне ОС. Вам придется использовать какое-то внешнее соединение, например, сокеты, чтобы отправить выходные данные в основной процесс или записать их результаты в файлы.
Ответ будет зависеть от того, какой из этих двух механизмов вы выберете.
Редактировать: разработка мультиобработки.
Это делается с помощью библиотеки multiprocessing
. Вы в основном определите функцию, которую вы хотите, чтобы ваш другой процесс выполнял, а затем запустите ее в другом процессе. Процессы обрабатываются ОС, а не Python, поэтому ваш планировщик ОС будет отвечать за то, где каждый процесс может быть выполнен. Существуют расширенные инструменты, такие как пулы процессов, которые позволят вам всегда иметь 4 запущенных процесса (в случае, если вы работаете с четырехъядерным процессором), но вы не сможете сказать своей ОС, как он должен обрабатывать эти процессы. Он может захотеть выполнять свои собственные фоновые процессы.