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实现简单的TCP代理服务器
Oct 08 Python
Python压缩和解压缩zip文件
Feb 14 Python
Python正则表达式分组概念与用法详解
Jun 24 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
python识别图像并提取文字的实现方法
Jun 28 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
python标准库os库的函数介绍
Feb 12 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
如何使用Python调整图像大小
Sep 26 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
PHP实现的交通银行网银在线支付接口ECSHOP插件和使用例子
2014/05/10 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
jQuery插件版本冲突的处理方法分析
2017/01/16 Javascript
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
Python中logging实例讲解
2019/01/17 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
解决python线程卡死的问题
2019/02/18 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
临床护士自荐信
2014/01/31 职场文书
KTV的创业计划书范文
2014/02/02 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
六年级学生评语
2014/04/22 职场文书
村居抓节水倡议书
2014/05/19 职场文书
IT工程师岗位职责
2014/07/04 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
教师工作证明范本
2015/06/12 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python