看代码:
import time
import thread
from time import ctime
def timer(i,interval):
while True:
ts="thread:"+str(i)+"-"+str(interval)
print ts,ctime()
time.sleep(interval)
def test(times):
for i in range(times):
thread.start_new_thread(timer,(i,(i*2+1)))
if __name__=='__main__':
print "thread test"
test(5)
time.sleep(20)
print "main thread exit...\n"
输出结果:
D:\>thread.py
thread test
thread:0-1thread:1-3thread:2-5thread:4-9 thread:3-7Mon Mar 11 11:33:25 2013Mo
n Mar 11 11:33:25 2013Mon Mar 11 11:33:25 2013Mon Mar 11 11:33:25 2013
Mon Mar 11 11:33:25 2013
thread:0-1 Mon Mar 11 11:33:26 2013
thread:0-1 Mon Mar 11 11:33:27 2013
thread:0-1thread:1-3 Mon Mar 11 11:33:28 2013Mon Mar 11 11:33:28 2013
thread:0-1 Mon Mar 11 11:33:29 2013
thread:2-5thread:0-1 Mon Mar 11 11:33:30 2013
Mon Mar 11 11:33:30 2013
thread:0-1thread:1-3 Mon Mar 11 11:33:31 2013Mon Mar 11 11:33:31 2013
thread:0-1thread:3-7 Mon Mar 11 11:33:32 2013Mon Mar 11 11:33:32 2013
thread:0-1 Mon Mar 11 11:33:33 2013
thread:0-1thread:1-3 Mon Mar 11 11:33:34 2013thread:4-9Mon Mar 11 11:33:34 2013
Mon Mar 11 11:33:34 2013
thread:0-1 Mon Mar 11 11:33:35 2013thread:2-5 Mon Mar 11 11:33:35 2013
thread:0-1 Mon Mar 11 11:33:36 2013
thread:0-1 Mon Mar 11 11:33:37 2013
thread:1-3 Mon Mar 11 11:33:37 2013
thread:0-1 Mon Mar 11 11:33:38 2013
thread:0-1 Mon Mar 11 11:33:39 2013thread:3-7
Mon Mar 11 11:33:39 2013
thread:1-3thread:2-5thread:0-1 Mon Mar 11 11:33:40 2013Mon Mar 11 11:33:40 2013
Mon Mar 11 11:33:40 2013
thread:0-1 Mon Mar 11 11:33:41 2013
thread:0-1 Mon Mar 11 11:33:42 2013
thread:4-9thread:1-3 Mon Mar 11 11:33:43 2013Mon Mar 11 11:33:43 2013thread:0-1
Mon Mar 11 11:33:43 2013
thread:0-1 Mon Mar 11 11:33:44 2013
main thread exit...
thread:2-5
thread:0-1 Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
Mon Mar 11 11:33:45 2013
D:\>
这个程序够简单理解Python的多线程,主要是start_new_thread,注意timer函数中的interval,它是每隔interval秒就运行一次while True 后面的程序。