@delphine_bartoletti
В Python можно запустить функции параллельно с помощью модуля multiprocessing
или модуля concurrent.futures
. Вот примеры использования обоих модулей:
С помощью multiprocessing
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import multiprocessing def func1(): # код функции def func2(): # код функции if __name__ == '__main__': p1 = multiprocessing.Process(target=func1) p2 = multiprocessing.Process(target=func2) p1.start() p2.start() p1.join() p2.join() |
С помощью concurrent.futures
:
1 2 3 4 5 6 7 8 9 10 11 12 |
import concurrent.futures def func1(): # код функции def func2(): # код функции if __name__ == '__main__': with concurrent.futures.ThreadPoolExecutor() as executor: executor.submit(func1) executor.submit(func2) |
Оба примера создают два процесса (или потока) и параллельно выполняют две функции func1
и func2
. В случае multiprocessing
процессы запускаются с помощью start()
, а затем присоединяются с помощью join()
. В случае concurrent.futures
процессы запускаются с помощью submit()
.