Я не понимаю, как начать multiprocessing.Process
.Я использовал следующий пример кода:
import random, time
import multiprocessing
def frz(no, tm):
a = 'start ' + str(no)
print(a)
time.sleep(tm)
a = str(no) + '=====> '+ str(tm) +'\n'
print(a)
if __name__ == '__main__':
freeze1 = random.randint(1, 5)
freeze2 = random.randint(1, 5)
freeze3 = random.randint(1, 5)
freeze4 = random.randint(1, 5)
freeze5 = random.randint(1, 5)
trd1 = multiprocessing.Process(target=frz, args=(1, freeze1))
trd2 = multiprocessing.Process(target=frz, args=(2, freeze2))
trd3 = multiprocessing.Process(target=frz, args=(3, freeze3))
trd4 = multiprocessing.Process(target=frz, args=(4, freeze4))
trd5 = multiprocessing.Process(target=frz, args=(5, freeze5))
#threading
trd1.start()
trd2.start()
trd3.start()
trd4.start()
trd5.start()
Когда multiprocessing.Process
заменяется на threading.Thread
, функция работает нормально, но при многопроцессорной обработке, похоже, ничего не происходит.