Difference between revisions of "Python threading"
From Noah.org
Jump to navigationJump to searchLine 38: | Line 38: | ||
r.cancel() | r.cancel() | ||
print "Done!" | print "Done!" | ||
+ | </pre> | ||
+ | |||
+ | Example output: | ||
+ | <pre> | ||
+ | Calling my_function() in a thread every 1/10th of second for two seconds. | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:33 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:34 2007 | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:35 2007 | ||
+ | Done! | ||
+ | meaningless arguments as an example: 1 0 -1 | ||
+ | Thu Jun 7 13:34:35 2007 | ||
</pre> | </pre> |
Revision as of 13:33, 7 June 2007
Basic threading example
This runs my_function in a thread loop. Note that you might see "Done!" before the last line of thread output. Welcome to threadland!
#!/usr/bin/env python import time import threading class roller (threading.Thread): def __init__(self, interval, function, args=[], kwargs={}): threading.Thread.__init__(self) self.interval = interval self.function = function self.args = args self.kwargs = kwargs self.finished = threading.Event() def cancel(self): self.finished.set() def run(self): while not self.finished.isSet(): self.finished.wait(self.interval) self.function(*self.args, **self.kwargs) def my_function (a, b, c): print "meaningless arguments as an example:", a, b, c print time.asctime() print "Calling my_function() in a thread every 1/10th of second for two seconds." r = roller (0.1, my_function, (1,0,-1)) r.start() time.sleep(2) r.cancel() print "Done!"
Example output:
Calling my_function() in a thread every 1/10th of second for two seconds. meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:33 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:34 2007 meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:35 2007 Done! meaningless arguments as an example: 1 0 -1 Thu Jun 7 13:34:35 2007