1. #-*- coding: utf-8 -*- 
  2. ''''' 
  3. Created on 2012-4-12 
  4.  
  5. @author: cpic 
  6. ''' 
  7.  
  8. import threading 
  9. from time import sleep,ctime 
  10.  
  11. #子线程睡眠时间列表 
  12. loops = [4,2
  13.  
  14. #子线程处理的任务 
  15. def loop(nloop,nsec): 
  16.     print 'start loop ',nloop,' at:',ctime() 
  17.     sleep(nsec) 
  18.     print 'loop ',nloop,' done at:',ctime() 
  19.  
  20. def main(): 
  21.     print 'starting at:',ctime() 
  22.      
  23.     #要运行子线程数 
  24.     nloops = range(len(loops)) 
  25.     #子线程池 
  26.     threads = [] 
  27.      
  28.     #添加子线程池 
  29.     for i in nloops: 
  30.         #创建子线程 
  31.         t = threading.Thread(target=loop,args=(i,loops[i])) 
  32.         threads.append(t) 
  33.          
  34.     #启动子线程 
  35.     for i in nloops: 
  36.         threads[i].start() 
  37.      
  38.     #阻塞主线程,直到子线程结束 
  39.     for i in nloops: 
  40.         threads[i].join() 
  41.      
  42.     print 'all DONE at:',ctime() 
  43.  
  44. if __name__ =="__main__"
  45.     main() 

-----运行结果------

starting at: Thu Apr 12 17:11:14 2012
start loop  0  at: Thu Apr 12 17:11:14 2012
start loop  1  at: Thu Apr 12 17:11:14 2012
loop  1  done at: Thu Apr 12 17:11:16 2012
loop  0  done at: Thu Apr 12 17:11:18 2012
all DONE at: Thu Apr 12 17:11:18 2012

 

使用threading模块,更加方便,无需关心锁。