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中wx将图标显示在右下角的脚本代码
Mar 08 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
Php多进程实现代码
May 07 Python
简单介绍python封装的基本知识
Aug 10 Python
python3调用windows dos命令的例子
Aug 14 Python
django-rest-swagger的优化使用方法
Aug 29 Python
关于Pytorch的MLP模块实现方式
Jan 07 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
Pandas把dataframe或series转换成list的方法
Jun 14 Python
5款实用的python 工具推荐
Oct 13 Python
如何用Python编写一个电子考勤系统
Feb 08 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
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP 验证码的实现代码
2011/07/17 PHP
基于PHP输出缓存(output_buffering)的深入理解
2013/06/13 PHP
PHP中session变量的销毁
2014/02/27 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
prototype 的说明 js类
2006/09/07 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
JavaScript使用Ajax上传文件的示例代码
2017/08/10 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
jQuery实现表单动态添加与删除数据操作示例
2018/07/03 jQuery
es6 symbol的实现方法示例
2019/04/02 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
python 切片和range()用法说明
2013/03/24 Python
python获得linux下所有挂载点(mount points)的方法
2015/04/29 Python
详细解读Python中的__init__()方法
2015/05/02 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
Python 异常处理的实例详解
2017/09/11 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
python3实现逐字输出的方法
2019/01/23 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
文化建设工作方案
2014/05/12 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
奉献家乡演讲稿
2014/09/13 职场文书