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中asyncore的用法实例
Sep 29 Python
浅析Python中else语句块的使用技巧
Jun 16 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
python提取xml里面的链接源码详解
Oct 15 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 Python
python编写俄罗斯方块
Mar 13 Python
python和php哪个更适合写爬虫
Jun 22 Python
matplotlib绘制多子图共享鼠标光标的方法示例
Jan 08 Python
基于Python 函数和方法的区别说明
Mar 24 Python
python process模块的使用简介
May 14 Python
Python面向对象之内置函数相关知识总结
Jun 24 Python
python的netCDF4批量处理NC格式文件的操作方法
Mar 21 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
多数据表共用一个页的新闻发布
2006/10/09 PHP
图书管理程序(二)
2006/10/09 PHP
Codeigniter实现处理用户登录验证后的URL跳转
2014/06/12 PHP
php实现的css文件背景图片下载器代码
2014/11/11 PHP
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
nodeJS代码实现计算交社保是否合适
2015/03/09 NodeJs
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
Vue中fragment.js使用方法详解
2017/03/09 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
javascript实现最长公共子序列实例代码
2018/02/05 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
python定时检查某个进程是否已经关闭的方法
2015/05/20 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Python引用计数操作示例
2018/08/23 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
为什么相对PHP黑python的更少
2020/06/21 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
生物制药毕业生自荐信
2013/10/16 职场文书
优秀交警事迹材料
2014/01/26 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书