[Python-checkins] r60026 - python/trunk/Doc/library/sched.rst

raymond.hettinger python-checkins at python.org
Thu Jan 17 23:27:49 CET 2008


Author: raymond.hettinger
Date: Thu Jan 17 23:27:49 2008
New Revision: 60026
Modified:
 python/trunk/Doc/library/sched.rst
Log:
Add advice on choosing between scheduler and threading.Timer().
Modified: python/trunk/Doc/library/sched.rst
==============================================================================
--- python/trunk/Doc/library/sched.rst	(original)
+++ python/trunk/Doc/library/sched.rst	Thu Jan 17 23:27:49 2008
@@ -41,6 +41,31 @@
 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:
 


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /