Вот пример многопроцессорного класса Python:
import multiprocessing
class MyProcess(multiprocessing.Process):
def __init__(self, name):
super(MyProcess, self).__init__()
self.name = name
def run(self):
print(f"Process {self.name} is running")
if __name__ == '__main__':
process1 = MyProcess("Process 1")
process2 = MyProcess("Process 2")
process1.start()
process2.start()
process1.join()
process2.join()
В этом примере мы создаем класс MyProcess
, который наследуется от класса multiprocessing.Process
. Класс MyProcess
переопределяет метод run
, который является точкой входа для процесса. Внутри метода run
вы можете определить код, который должен выполнять процесс.
Чтобы создать и запустить экземпляры класса MyProcess
, мы создаем экземпляры двух объектов, process1
и process2
, и вызываем их start
методы. Метод start
внутренне вызывает метод run
каждого процесса в отдельном дочернем процессе.
Наконец, мы вызываем метод join
для каждого процесса, чтобы дождаться завершения его выполнения.
Вот несколько методов, обычно используемых с модулем многопроцессорности:
Процесс
: базовый класс для создания процессов.start()
: запускает процесс, вызывая его методrun
.run()
: метод, содержащий код, который будет выполнен процессом.join()
: ждет завершения выполнения процесса.is_alive()
: возвращаетTrue
, если процесс в данный момент запущен.terminate()
: резко завершает процесс.name()
: возвращает имя процесса.