We're back after a server migration that caused effbot.org to fall over a bit harder than expected. Expect some glitches.

The thread module

(Optional). This module provides a low-level interface for threading. 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: 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, ())


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

Note that when the main program exits, all threads are killed. The threading module doesn’t have that problem.