wxin 发表于 2018-8-15 10:01:58

python之多线程threading模块

#_*_coding:utf-8_*_  
import threading
  
from time import sleep,ctime
  

  
#秒数
  
loops =
  

  
#这个函数是模拟一个实实在在是用来干活的函数
  
def loop(nloop,nsec):
  
    print "函数%s 启动时间:%s 等待秒数:%s \n" %(nloop,ctime(),nsec)
  
    sleep(nsec) #等待时间
  

  

  
def main():
  
    print "主线程在 %s 开始启动...:" % ctime()
  
    threads = [] #这个列表用来存放创建的线程
  
    nloops = range(len(loops))#把全局变量中的loops列表引进来,所生成的局部变量nloops作为索引
  
    #顾nloops存储的是
  

  

  
    for i in nloops:
  
      t = threading.Thread(target=loop,args=(i,loops)) #创建线程
  
      threads.append(t)   #创建到线程累加存放到列表threads中
  

  
    for i in nloops:
  
      threads.start() #所有线程创建完之后,便利存放线程的列表,一起启动线程
  

  
    for i in nloops:
  
      threads.join()#程序挂起,直到线程结束,再也不用管理分配锁,获得锁,释放锁,检查锁到状态等令人纳闷到问题,只需调用join()函数就可以啦
  

  
    print "所有函数完成时间:", ctime()
  

  
if __name__ == '__main__':
  
      main()
页: [1]
查看完整版本: python之多线程threading模块