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使用Flask框架同时上传多个文件的方法
Mar 21 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
Saltstack快速入门简单汇总
Mar 01 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
Python学习笔记之lambda表达式用法详解
Aug 08 Python
python中sort和sorted排序的实例方法
Aug 26 Python
python tornado使用流生成图片的例子
Nov 18 Python
python实现对变位词的判断方法
Apr 05 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
Python面向对象之内置函数相关知识总结
Jun 24 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 empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
thinkphp3.2.2前后台公用类架构问题分析
2014/11/25 PHP
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
简单说明Python中的装饰器的用法
2015/04/24 Python
python避免死锁方法实例分析
2015/06/04 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
目前最全的python的就业方向
2018/06/05 Python
python字符串常用方法
2018/06/14 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
python如何调用java类
2020/07/05 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
鼓励运动员的广播稿
2014/02/08 职场文书
高三励志标语
2014/06/05 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
大学生党课感想
2015/08/11 职场文书
学生会主席任命书
2015/09/21 职场文书
周末问候语大全
2015/11/10 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
Java数据结构之堆(优先队列)
2022/05/20 Java/Android