3.4 The thread Module
(Optional) The thread module provides a low-level interface for threading, as shown in Example 3-6.
It's only available if your interpreter is built with thread support.
New code should use the higher-level interface in the threading module instead.
Example 3-6. Using the thread Module
File: thread-example-1.py
import thread
import time, random
def worker():
for i in range(50):
# pretend we're doing something that takes 10�100 ms
time.sleep(random.randint(10, 100) / 1000.0)
print thread.get_ident(), "-- task", i, "finished"
#
# try it out!
for i in range(2):
thread.start_new_thread(worker, ())
time.sleep(1)
print "goodbye!"
311 -- task 0 finished
265 -- task 0 finished
265 -- task 1 finished
311 -- task 1 finished
...
265 -- task 17 finished
311 -- task 13 finished
265 -- task 18 finished
goodbye!
Note that when the main program exits, all threads are killed. The
threading
module doesn't have that problem.
|