Hi,
das unten stehend Beispiel ist aus Python » 3.5.10 Documentation » The Python Standard Library » 17. Concurrent Execution »
17.6. sched — Event scheduler
Meine Frage: wenn ich in den Zeilen "s.enter(5,x....") die Prioritäten (x) vertausche, sollte dies in der Ausgabe sichtbar werden.
Aber das tut sich nix. Nur wenn die Reihenfolge der Zeilen im Code vertauscht werden, ändert sich auch die Ausgabe dementsprechend.
Ich benutze Python 3.5.3.
Was ist mein Denkfehlker?
>>> import sched, time
>>> s = sched.scheduler(time.time, time.sleep)
>>> def print_time(a='default'):
... print("From print_time", time.time(), a)
...
>>> def print_some_times():
... print(time.time())
... s.enter(10, 1, print_time)
... s.enter(5, 2, print_time, argument=('positional',))
... s.enter(5, 1, print_time, kwargs={'a': 'keyword'})
... s.run()
... print(time.time())
...
>>> print_some_times()
930343690.257
From print_time 930343695.274 positional
From print_time 930343695.275 keyword
From print_time 930343700.273 default
930343700.276
sched — Event scheduler, Priorität ist unwirksam
Deine Aussage kann ich nicht bestätigen (Python 3.8.2):
Verwende kein Python 3.5 mehr. Das ist ausgelaufen.
Code: Alles auswählen
>>> import sched, time
>>> s = sched.scheduler(time.time, time.sleep)
>>> def print_time(a='default'):
print("From print_time", time.time(), a)
>>> def print_some_times():
print(time.time())
s.enter(10, 1, print_time)
s.enter(5, 2, print_time, argument=('positional',))
s.enter(5, 1, print_time, kwargs={'a': 'keyword'})
s.run()
print(time.time())
>>> print_some_times()
1606829624.40767
From print_time 1606829629.44847 keyword
From print_time 1606829629.4640698 positional
From print_time 1606829634.44047 default
1606829634.4872699
>>> def print_some_times():
print(time.time())
s.enter(10, 1, print_time)
s.enter(5, 1, print_time, argument=('positional',))
s.enter(5, 2, print_time, kwargs={'a': 'keyword'})
s.run()
print(time.time())
>>> print_some_times()
1606829732.7284706
From print_time 1606829737.7692704 positional
From print_time 1606829737.8472705 keyword
From print_time 1606829742.7768705 default
1606829742.7924705
>>>