Утверждение «Я должен появиться только один раз» должно появиться только один раз.Я не могу понять, почему это появляется еще 3 раза ... Мне ясно, что мой код выполняет еще 3 процесса.Но в этих 3 процессах вызывается только funktion0()
.Почему утверждение "I should appear only once"
включается в эти дополнительные 3 процесса?Может ли кто-нибудь объяснить?
Код:
from datetime import datetime
#print(datetime.now().time())
from time import time, sleep
#print(time())
print("I should appear only once")
from concurrent import futures
def funktion0(arg0):
sleep(arg0)
print(f"ich habe {arg0} sek. gewartet, aktuelle Zeit: {datetime.now().time()}")
if __name__=="__main__":
with futures.ProcessPoolExecutor(max_workers=3) as obj0:
obj0.submit(funktion0, 5)
obj0.submit(funktion0, 10)
obj0.submit(funktion0, 15)
obj0.submit(funktion0, 20)
print("alle Aufgaben gestartet")
print("alle Aufgaben erledigt")
Ожидаемый результат:
I should appear only once
alle Aufgaben gestartet
ich habe 5 sek. gewartet, aktuelle Zeit: 18:32:51.926288
ich habe 10 sek. gewartet, aktuelle Zeit: 18:32:56.923648
ich habe 15 sek. gewartet, aktuelle Zeit: 18:33:01.921168
ich habe 20 sek. gewartet, aktuelle Zeit: 18:33:11.929370
alle Aufgaben erledigt
Фактический результат:
I should appear only once
alle Aufgaben gestartet
I should appear only once
I should appear only once
I should appear only once
ich habe 5 sek. gewartet, aktuelle Zeit: 18:32:51.926288
ich habe 10 sek. gewartet, aktuelle Zeit: 18:32:56.923648
ich habe 15 sek. gewartet, aktuelle Zeit: 18:33:01.921168
ich habe 20 sek. gewartet, aktuelle Zeit: 18:33:11.929370
alle Aufgaben erledigt