mirror of
https://github.com/python/cpython.git
synced 2025-09-17 06:06:25 +00:00
Add advice on choosing between scheduler and threading.Timer().
This commit is contained in:
parent
4e06b8a86f
commit
d0ab014b5e
1 changed files with 25 additions and 0 deletions
|
@ -41,6 +41,31 @@ Example::
|
|||
From print_time 930343700.273
|
||||
930343700.276
|
||||
|
||||
In multi-threaded environments, the :class:`scheduler` class has limitations
|
||||
with respect to thread-safety, inability to insert a new task before
|
||||
the one currently pending in a running scheduler, and holding-up the main
|
||||
thread until the event queue is empty. Instead, the preferred approach
|
||||
is to use the :class:`threading.Timer` class instead.
|
||||
|
||||
Example::
|
||||
|
||||
>>> import time
|
||||
>>> from threading import Timer
|
||||
>>> def print_time():
|
||||
... print "From print_time", time.time()
|
||||
...
|
||||
>>> def print_some_times():
|
||||
... print time.time()
|
||||
... Timer(5, print_time, ()).start()
|
||||
... Timer(10, 1, print_time, ())
|
||||
... print time.time() # executes before the time-delay events
|
||||
...
|
||||
>>> print_some_times()
|
||||
930343690.257
|
||||
930343690.301
|
||||
From print_time 930343695.274
|
||||
From print_time 930343700.273
|
||||
|
||||
|
||||
.. _scheduler-objects:
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue