python开发之thread线程基础实例入门


Posted in Python onNovember 11, 2015

本文实例讲述了python开发之thread线程基础。分享给大家供大家参考,具体如下:

说到线程,我们要知道啥是串行,啥是并行程序

举个例子:

串行程序,就是一个一个的执行程序

#python threading
import time
'''
  每一秒中,输出:this is a demo!
'''
def serial():
  '''串行输出'''
  time.sleep(1)
  print('this is a demo!')
def main():
  for i in range(5):
    serial()
if __name__ == '__main__':
  main()

运行结果如下:

>>> 
this is a demo!
this is a demo!
this is a demo!
this is a demo!
this is a demo!
>>>

并行程序,就是很多个程序在同一时间(宏观)一起执行

#python threading
import threading
import time
'''
  并行执行,输出:Good!Good!Good!Good!Good!
'''
def parallel():
  '''并行输出'''
  time.sleep(1)
  print('Good!')
def main():
  for i in range(5):
    t = threading.Thread(target=parallel)
    t.start()
if __name__ == '__main__':
  main()

当然我们通过执行程序,可以知道,并行程序要比串行程序执行的要快....

我们也可以获取到当前的线程及个数:

#python threading
import threading
import time
'''
  并行执行,输出:
  [<Thread(Thread-2, started 3480)>, <Thread(Thread-1, started 660)>,
  <Thread(SockThread, started daemon 2920)>, <Thread(Thread-3, started 916)>,
  <Thread(Thread-4, started 3476)>, <_MainThread(MainThread, started 3964)>,
  <Thread(Thread-5, started 2060)>]
  存在的线程数 : 7
  Good!Good!Good!Good!Good!
'''
def parallel():
  '''并行输出'''
  time.sleep(1)
  print('Good!')
def main():
  for i in range(5):
    t = threading.Thread(target=parallel)
    t.start()
if __name__ == '__main__':
  main()
  print(threading.enumerate())
  print('存在的线程数 : %d'%threading.active_count())

运行结果如下:

>>> 
[<Thread(SockThread, started daemon 15424)>, <Thread(Thread-3, started 15840)>, <Thread(Thread-1, started 10884)>, <Thread(Thread-2, started 14512)>, <Thread(Thread-4, started 13204)>, <_MainThread(MainThread, started 12924)>, <Thread(Thread-5, started 15476)>]
存在的线程数 : 7
>>> Good!Good!Good!Good!Good!

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python写的图片蜘蛛人代码
Aug 27 Python
详解Golang 与python中的字符串反转
Jul 21 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
Django中的Signal代码详解
Feb 05 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
Python爬虫 批量爬取下载抖音视频代码实例
Aug 16 Python
python字符串下标与切片及使用方法
Feb 13 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
python编写softmax函数、交叉熵函数实例
Jun 11 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
python开发之thread实现布朗运动的方法
Nov 11 #Python
python开发之基于thread线程搜索本地文件的方法
Nov 11 #Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 #Python
Python复制文件操作实例详解
Nov 10 #Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 #Python
Python 文件管理实例详解
Nov 10 #Python
Python list操作用法总结
Nov 10 #Python
You might like
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
2013/07/05 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
JavaScript库 开发规则
2009/01/31 Javascript
javascript css在IE和Firefox中区别分析
2009/02/18 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
js nextSibling属性和previousSibling属性概述及使用注意
2013/02/16 Javascript
javascript中常用编程知识
2013/04/08 Javascript
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
2014/09/09 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
2016/04/05 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
在Python的Flask框架中实现单元测试的教程
2015/04/20 Python
Python线程创建和终止实例代码
2018/01/20 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
python通过实例讲解反射机制
2019/10/17 Python
Python 实现自动获取种子磁力链接方式
2020/01/16 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
几道数据库的概念性面试题
2014/05/30 面试题
高一家长会邀请函
2014/01/12 职场文书
淘宝客服自我总结鉴定
2014/01/25 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
拆迁委托协议书
2014/09/15 职场文书
网站出售协议书范文
2014/10/10 职场文书
2014年会计工作总结
2014/11/27 职场文书
中学教代会开幕词
2016/03/04 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python