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中list常用操作实例详解
Jun 03 Python
python交互式图形编程实例(二)
Nov 17 Python
TF-IDF与余弦相似性的应用(二) 找出相似文章
Dec 21 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
Jan 10 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
python导入模块交叉引用的方法
Jan 19 Python
Django使用AJAX调用自己写的API接口的方法
Mar 06 Python
Python generator生成器和yield表达式详解
Aug 08 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
Oct 12 Python
浅谈python出错时traceback的解读
Jul 15 Python
无惧面试,带你搞懂python 装饰器
Aug 17 Python
Django3中的自定义用户模型实例详解
Aug 23 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
Yii2语言国际化自动配置详解
2018/08/22 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
限制复选框的最大可选数
2006/07/01 Javascript
可实现多表单提交的javascript函数
2007/08/01 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
浅谈JavaScript的计时器对象
2016/12/26 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
可能是最全面的 Python 字符串拼接总结【收藏】
2018/07/09 Python
django 环境变量配置过程详解
2019/08/06 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
python入门之基础语法学习笔记
2020/02/08 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
CSS3实现粒子旋转伸缩加载动画
2016/04/22 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
2017/05/23 HTML / CSS
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
亚马逊巴西站:Amazon.com.br
2019/09/22 全球购物
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
文员岗位职责范本
2014/03/08 职场文书
企业出纳岗位职责
2014/03/12 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
节约用电倡议书
2015/04/28 职场文书
被告答辩状范文
2015/05/22 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
Golang实现AES对称加密的过程详解
2021/05/20 Golang
聊聊Lombok中的@Builder注解使用教程
2021/11/17 Java/Android