Я хотел бы использовать многопроцессорность для своего кода, и я попробовал этот пример отсюда: https://pymotw.com/2/multiprocessing/basics.html
import multiprocessing
def worker(num):
"""thread worker function"""
print('Worker:', num)
return
if __name__ == '__main__':
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker, args=(i,))
jobs.append(p)
p.start()
Однако, когда я запускаю код, он ничего не печатает. Буду признателен за помощь, чтобы выяснить, почему? и как это исправить?
Я использую Python 3 и Spider.
EDIT 1: Использование sys.stdout.flush () не помогает. Я пытался добавить его в рабочую функцию ...
def worker(num):
"""thread worker function"""
print('Worker:', num)
sys.stdout.flush()
return
РЕДАКТИРОВАТЬ 2 Аналогично этому вопросу joblib. Параллельный запуск через зависание spyder на Windows .. ... но даже когда я попробовал предлагаемое решение, оно не сработало ...
EDIT 3
Действительно, без использования spyder это сработало: