Я смотрю учебник https://www.youtube.com/watch?v=fKl2JW_qrso (показано на 8.18 мин) о многопроцессорности. Я запускаю код, скопированный оттуда:
import multiprocessing
import time
import os
start = time.perf_counter()
def do_something():
print("sleeping 1 sec...")
time.sleep(1)
print("done sleeping...")
p1 = multiprocessing.Process(target=do_something)
p2 = multiprocessing.Process(target=do_something)
p1.start()
p2.start()
finish = time.perf_counter()
print("finished in " + str(round((finish-start),2)) + " seconds(s)")
os.system("pause")
Но когда я запускаю его на своем компьютере, у меня появляется следующее сообщение об ошибке (но тот же код работает в учебнике):
Предпринята попытка запустить новый процесс до того, как текущий процесс завершит фазу начальной загрузки. Вероятно, это означает, что вы не используете fork для запуска дочерних процессов и забыли использовать правильную идиому в основном модуле: if name == 'main': freeze_support() ... Строка "freeze_support()" может быть опущена, если программа не будет заморожена для создания исполняемого файла.