Найти тему

Запуск двух процессов в Python. multiprocessing — это пакет, поддерживающий порождение процессов с использованием API, аналогичный модулю threading / процессный параллелизм


Пакет multiprocessing предлагает как локальный, так и удаленный параллелизм, эффективно обходя Глобальную блокировку интерпретатора за счёт использования подпроцессов вместо потоков. Благодаря этому, модуль multiprocessing позволяет программисту полностью использовать несколько процессоров на компьютере. Он работает как в Unix, так и в Windows.

Простым примером использования нескольких процессов могут быть два процесса, которые выполняются отдельно. В этом примере запускаются два процесса: countUp() отсчитывает единицу вверх каждую секунду, countdown() – единицу вниз каждую секунду.

import multiprocessing

import time

from random import randint

def countUp():

  i = 0

  while i <= 3:

   print('Up:\t{}'.format(i))

   time.sleep(randint(1, 3)) # sleep 1, 2 or 3 seconds

   i += 1

def countDown():

  i = 3

  while i >= 0:

   print('Down:\t{}'.format(i))

   time.sleep(randint(1, 3)) # sleep 1, 2 or 3 seconds

   i -= 1

if __name__ == '__main__':

  # Initiate the workers.

  workerUp = multiprocessing.Process(target=countUp)

  workerDown = multiprocessing.Process(target=countDown)

  # Start the workers.

  workerUp.start()

  workerDown.start()

  # Join the workers. This will block in the main (parent) process

  # until the workers are complete.

  workerUp.join()

  workerDown.join()
Запуск двух процессов в Python.
1 минута
238 читали