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中用Ctrl+C终止多线程程序的问题解决
Mar 30 Python
python二分法实现实例
Nov 21 Python
Python进程间通信之共享内存详解
Oct 30 Python
简单实现python进度条脚本
Dec 18 Python
利用Python将每日一句定时推送至微信的实现方法
Aug 13 Python
bluepy 一款python封装的BLE利器简单介绍
Jun 25 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
python django生成迁移文件的实例
Aug 31 Python
python datetime处理时间小结
Apr 16 Python
matplotlib之属性组合包(cycler)的使用
Feb 24 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 Python
Python多个MP4合成视频的实现方法
Jul 16 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中去掉字符串首尾空格的方法
2012/05/19 PHP
PHP中使用json数据格式定义字面量对象的方法
2014/08/20 PHP
PHP采用get获取url汉字出现乱码的解决方法
2014/11/13 PHP
PHPMailer发送邮件
2016/12/28 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
简单的JS多重继承示例
2008/03/13 Javascript
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
2020/09/10 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
python基于openpyxl生成excel文件
2020/12/23 Python
Levi’s美国官网:美国著名的牛仔裤品牌
2016/08/19 全球购物
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
办公室年终个人自我评价
2013/10/28 职场文书
爱国主义主题班会
2015/08/14 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB