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单例模式的两种实现方法
Aug 14 Python
pandas数值计算与排序方法
Apr 12 Python
Python3实现的字典遍历操作详解
Apr 18 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python-docx修改已存在的Word文档的表格的字体格式方法
May 08 Python
Python2与Python3的区别实例总结
Apr 17 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
python+numpy按行求一个二维数组的最大值方法
Jul 09 Python
python join方法使用详解
Jul 30 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
浅谈keras使用中val_acc和acc值不同步的思考
Jun 18 Python
Python爬虫与反爬虫大战
Jul 30 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 form 表单传参明细研究
2009/07/17 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
2015/03/04 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
JavaScript获取服务器时间的方法详解
2016/12/11 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
小程序实现密码输入框
2020/11/16 Javascript
vue自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
2020/11/20 Vue.js
vue-resource 拦截器interceptors使用详解
2021/01/18 Vue.js
[50:50]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.20
2020/12/23 DOTA
Python中类的继承代码实例
2014/10/28 Python
python读取word文档的方法
2015/05/09 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
使用Python从有道词典网页获取单词翻译
2016/07/03 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
2018/03/14 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
Python 函数list&read&seek详解
2019/08/28 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
应届生法律求职信
2013/10/22 职场文书
大学活动策划书范文
2014/01/10 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
爱国之歌(8首)
2019/09/29 职场文书