Difference between revisions of "Python threading"

From Noah.org
Jump to navigationJump to search
(New page: Category:Engineering Category:Python == Basic threading example == <pre> import time import threading class roller (threading.Thread): def __init__(self, interval, function,...)
 
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[[Category:Engineering]]
 
[[Category:Engineering]]
 
[[Category:Python]]
 
[[Category:Python]]
 +
[[Category:Free_Software]]
 
== Basic threading example ==
 
== Basic threading example ==
 +
 +
This is a simple example of threading in Python.
 +
You pass it any function and your function is run in a thread loop.
 +
 +
Click to download: [http://www.noah.org/downloadsvn.php?src=file:///home/svn/src/python/thread_looper.py thread_looper.py]
 +
<include svncat src="file:///home/svn/src/python/thread_looper.py" highlight="python" />
 +
 +
Example output:
  
 
<pre>
 
<pre>
import time
+
Calling my_function() in a thread every 1/10th of second for two seconds.
import threading
+
meaningless arguments as an example: 1 0 -1
class roller (threading.Thread):  
+
Thu Jun  7 13:34:33 2007
    def __init__(self, interval, function, args=[], kwargs={}):  
+
meaningless arguments as an example: 1 0 -1
        threading.Thread.__init__(self)
+
Thu Jun  7 13:34:33 2007
        self.interval = interval
+
meaningless arguments as an example: 1 0 -1
        self.function = function
+
Thu Jun  7 13:34:33 2007
        self.args = args
+
meaningless arguments as an example: 1 0 -1
        self.kwargs = kwargs
+
Thu Jun  7 13:34:33 2007
        self.finished = threading.Event()
+
meaningless arguments as an example: 1 0 -1
    def cancel(self):  
+
Thu Jun  7 13:34:33 2007
        """Stop the roller."""
+
meaningless arguments as an example: 1 0 -1
        self.finished.set()
+
Thu Jun  7 13:34:33 2007
    def run(self):  
+
meaningless arguments as an example: 1 0 -1
        while not self.finished.isSet():  
+
Thu Jun  7 13:34:33 2007
            self.finished.wait(self.interval)
+
meaningless arguments as an example: 1 0 -1
            self.function(*self.args, **self.kwargs)
+
Thu Jun  7 13:34:33 2007
 
+
meaningless arguments as an example: 1 0 -1
r = roller (0.01, p.rotate_palette, (1,0,-1))
+
Thu Jun  7 13:34:34 2007
r.start()
+
meaningless arguments as an example: 1 0 -1
time.sleep(60)
+
Thu Jun  7 13:34:34 2007
r.cancel()
+
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>

Latest revision as of 19:00, 3 January 2008

Basic threading example

This is a simple example of threading in Python. You pass it any function and your function is run in a thread loop.

Click to download: thread_looper.py <include svncat src="file:///home/svn/src/python/thread_looper.py" highlight="python" />

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