python thread 并发且顺序运行示例


Posted in Python onApril 09, 2009
#-*- coding:utf-8 -*- 
import threading 
import time 
def fun(name, ls_name, front_thread = None): 
''''' 
线程启动函数 
通过front_thread来使用线程有序的运行 
''' 
time.clock() 
time.sleep(2) 
# 如果front_thread存在,则在front_thread运行完成后,才运行当前线程 
if front_thread != None: 
front_thread.join() 
ls_name.append(name) 
print "thread %s : %s"% (name, time.clock()) if __name__ == '__main__': 
ls_result_name = [] 
ls_thread = [] 
time.clock() 
# 逐一启动1000个线程 
for i in range(0,10): 
if len(ls_thread) == 0: 
t = threading.Thread(target=fun, args=(i,ls_result_name,None)) 
else: 
t = threading.Thread(target=fun, args=(i,ls_result_name,ls_thread[-1])) 
t.start() 
ls_thread.append(t) 
# 等待所有线程结束 
for t in ls_thread: 
t.join() 
print 'ls_result_name:', ls_result_name 
print "main thread:%s" % time.clock()

运行结果为:
thread 0 : 1.99962006344
thread 1 : 2.00000866032
thread 2 : 2.00059113658
thread 3 : 2.00080345407
thread 4 : 2.00100068584
thread 5 : 2.00119456523
thread 6 : 2.00138593033
thread 7 : 2.00166753037
thread 8 : 2.00211758757
thread 9 : 2.0024776892
ls_result_name: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
main thread:2.003211302
线程更明细的使用可参考:
http://docs.python.org/library/threading.html
time.clock模块的更详细介绍可参考:
http://blog.csdn.net/kiki113/archive/2009/03/28/4033017.aspx
Python 相关文章推荐
让python json encode datetime类型
Dec 28 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python实现豆瓣图片下载的方法
May 25 Python
python使用sqlite3时游标使用方法
Mar 13 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
浅谈python写入大量文件的问题
Nov 09 Python
利用nohup来开启python文件的方法
Jan 14 Python
numpy.linspace函数具体使用详解
May 27 Python
如何使用Python实现自动化水军评论
Jun 26 Python
pycharm 2020 1.1的安装流程
Sep 29 Python
Python使用tkinter制作在线翻译软件
Feb 22 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
python 判断一个进程是否存在
Apr 09 #Python
python ElementTree 基本读操作示例
Apr 09 #Python
python 获取et和excel的版本号
Apr 09 #Python
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 #Python
python 获取文件列表(或是目录例表)
Mar 25 #Python
Python字符串的encode与decode研究心得乱码问题解决方法
Mar 23 #Python
python 判断自定义对象类型
Mar 21 #Python
You might like
QueryPath PHP 中的jQuery
2010/04/11 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
javascript void(0)的妙用
2009/10/21 Javascript
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
javascipt:filter过滤介绍及使用
2014/09/10 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
Javascript之面向对象--接口
2016/12/02 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
2016/12/14 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
Element InfiniteScroll无限滚动的具体使用方法
2020/07/27 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
python模块restful使用方法实例
2013/12/10 Python
怎样使用Python脚本日志功能
2016/08/14 Python
python 捕获shell脚本的输出结果实例
2017/01/04 Python
python3下实现搜狗AI API的代码示例
2018/04/10 Python
Python使用装饰器模拟用户登陆验证功能示例
2018/08/24 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
请介绍一下WSDL的文档结构
2013/03/17 面试题
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
个人专业技术总结
2015/03/05 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
业务员岗位职责范本
2015/04/03 职场文书
班主任开场白
2015/06/01 职场文书
2016年父亲节寄语
2015/12/04 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS