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读写excel的方法
Nov 18 Python
Python 通过URL打开图片实例详解
Jun 01 Python
Django中login_required装饰器的深入介绍
Nov 24 Python
ubuntu中配置pyqt4环境教程
Dec 27 Python
python逐行读写txt文件的实例讲解
Apr 03 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
python读取csv和txt数据转换成向量的实例
Feb 12 Python
python中如何使用分步式进程计算详解
Mar 22 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
python 8种必备的gui库
Aug 27 Python
pycharm 2020 1.1的安装流程
Sep 29 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年10月第2期TV动画制作组换血!
2020/03/06 日漫
mysql 的 like 问题,超强毕杀记!!!
2007/01/18 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
php使用mkdir创建多级目录入门例子
2014/05/10 PHP
YII中assets的使用示例
2014/07/31 PHP
PHP文件锁函数flock()详细介绍
2014/11/18 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
greybox——不开新窗口看新的网页
2007/02/20 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
js实现表格字段排序
2014/02/19 Javascript
javascript框架设计读书笔记之数组的扩展与修复
2014/12/02 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
微信小程序 参数传递详解
2016/10/24 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Python WSGI的深入理解
2018/08/01 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
在Django中预防CSRF攻击的操作
2020/03/13 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
从Pytorch模型pth文件中读取参数成numpy矩阵的操作
2021/03/04 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
美国在线珠宝商店:SZUL
2017/02/11 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
西式婚礼主持词
2014/03/13 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
2015年业务工作总结范文
2015/04/10 职场文书
经营场所证明范本
2015/06/19 职场文书
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android