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输出一个杨辉三角的例子
Jun 13 Python
python实现根据ip地址反向查找主机名称的方法
Apr 29 Python
python表格存取的方法
Mar 07 Python
python使用tornado实现简单爬虫
Jul 28 Python
python实现nao机器人手臂动作控制
Apr 29 Python
Django框架使用内置方法实现登录功能详解
Jun 12 Python
python标记语句块使用方法总结
Aug 05 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
对Matlab中共轭、转置和共轭装置的区别说明
May 11 Python
Keras中的多分类损失函数用法categorical_crossentropy
Jun 11 Python
Python提取视频中图片的示例(按帧、按秒)
Oct 22 Python
深入理解python协程
Jun 15 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
DOTA2 探索永无止境 玩家自创强悍插眼攻略
2020/04/20 DOTA
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
PHP实现伪静态方法汇总
2016/01/13 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
使用 laravel sms 构建短信验证码发送校验功能
2017/11/06 PHP
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
jquery如何把数组变为字符串传到服务端并处理
2014/04/30 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
JavaScript实现网页头部进度条刷新
2017/04/16 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
Vue Prop属性功能与用法实例详解
2019/02/23 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
详解Python中的文本处理
2015/04/11 Python
Django与遗留的数据库整合的方法指南
2015/07/24 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
如何为Python终端提供持久性历史记录
2019/09/03 Python
使用pyqt5 tablewidget 单元格设置正则表达式
2019/12/13 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
临床医学专业毕业生的自我评价
2013/10/17 职场文书
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
保护环境标语
2014/06/09 职场文书
教师批评与自我批评
2014/10/15 职场文书
2014年行政工作总结
2014/11/19 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
七个Python必备的GUI库
2021/04/27 Python