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中实现两个字典(dict)合并的方法
Sep 23 Python
python基于multiprocessing的多进程创建方法
Jun 04 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
python实现红包裂变算法
Feb 16 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
python networkx 根据图的权重画图实现
Jul 10 Python
解决Django连接db遇到的问题
Aug 29 Python
基于python的selenium两种文件上传操作实现详解
Sep 19 Python
基于python中__add__函数的用法
Nov 25 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
May 25 Python
Python识别花卉种类鉴定网络热门植物并自动整理分类
Apr 08 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
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
web方式ftp
2006/10/09 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
jquery 设置style:display的方法
2015/01/29 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
vue与django集成打包的实现方法
2019/11/11 Javascript
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python中装饰器学习总结
2018/02/10 Python
Python中作用域的深入讲解
2018/12/10 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
2019/12/13 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
自我鉴定注意事项
2014/01/19 职场文书
高二英语教学反思
2014/01/19 职场文书
教师节商场活动方案
2014/02/13 职场文书
学生周末长期请假条
2014/02/15 职场文书
学校节能减排倡议书
2014/05/16 职场文书
学校交通安全责任书
2014/08/25 职场文书
公司委托书格式范文
2014/10/09 职场文书
先进班集体申报材料
2014/12/26 职场文书
2015公司年度工作总结
2015/05/14 职场文书
交通安全教育主题班会
2015/08/12 职场文书
2016年第32个教师节红领巾广播稿
2015/12/18 职场文书