首页 > 代码库 > python之多线程threading模块
python之多线程threading模块
#_*_coding:utf-8_*_ import threading from time import sleep,ctime #秒数 loops = [4,2] #这个函数是模拟一个实实在在是用来干活的函数 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存储的是[0,1] for i in nloops: t = threading.Thread(target=loop,args=(i,loops[i])) #创建线程 threads.append(t) #创建到线程累加存放到列表threads中 for i in nloops: threads[i].start() #所有线程创建完之后,便利存放线程的列表,一起启动线程 for i in nloops: threads[i].join() #程序挂起,直到线程结束,再也不用管理分配锁,获得锁,释放锁,检查锁到状态等令人纳闷到问题,只需调用join()函数就可以啦 print "所有函数完成时间:", ctime() if __name__ == ‘__main__‘: main()
运行结果
/usr/bin/python2.7 /home/toby/PycharmProjects/SOMS/test2.py
主线程在 Wed Mar 1 19:59:53 2017 开始启动...:
函数0 启动时间:Wed Mar 1 19:59:53 2017 等待秒数:4
函数1 启动时间:Wed Mar 1 19:59:53 2017 等待秒数:2
所有函数完成时间: Wed Mar 1 19:59:57 2017
本文出自 “运维交流Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1902532
python之多线程threading模块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。