python进程与线程小结实例分析


Posted in PHP onNovember 11, 2018

传统方式是调用2个方法执行1个任务,方法按顺序依次执行

# -*- coding:utf-8 -*-
import threading
import time
def run(n):
  print('task',n)
  time.sleep(3)
if __name__ == '__main__':
  run('t1')
  run('t2')

多线程例子

2个线程同时并发执行1个任务

# -*- coding:utf-8 -*-
import threading
import time
def run(n):
  print('task',n)
  time.sleep(3)

if __name__ == '__main__':
  t1=threading.Thread(target=run,args=('t1',))
  t2=threading.Thread(target=run,args=('t2',))
  t1.start()
  t2.start()

自己写一个类继承继承threading.Thread

# -*- coding:utf-8 -*-
import threading
import time
class MyThread(threading.Thread):
  def __init__(self,n):
    super(MyThread,self).__init__()
    self.n=n
  #这里面默认就有一个run方法
  def run(self):
    print('runing task',self.n)
if __name__ == '__main__':
  #在主方法通过对象调用线程
  t1=MyThread('t1')
  t2=MyThread('t2')
  t1.run()
  t2.run()

使用for循环启动多个线程

# -*- coding:utf-8 -*-
import threading
import time
def run(n):
  print('task',n)
  time.sleep(3)
if __name__ == '__main__':
  for i in range(10):
    t=threading.Thread(target=run,args=('t-%s'%i,))
    t.start()

等多线程同时执行完后,再执行其它代码,因为线程是与其它代码一起运行的

# -*- coding:utf-8 -*-
import threading
import time
def run(n):
  print('task',n)
  time.sleep(3)
if __name__ == '__main__':
  time_start=time.time()
  #定义一个空列表装线程t实例
  t_objects=[]
  for i in range(10):
    t=threading.Thread(target=run,args=('t-%s'%i,))
    t.start()
    t_objects.append(t)
  # 等所有线程执行完后,再执行下面的代码
  # 因为线程与下面的代码是同时运行的
  # 要想先等线程执行完毕再执行其它代码
  # 使用join()方法进行阻塞
  #在这里统一结束所有t线程
  for i in t_objects:
    t.join()
  time_end=time.time()
  sun=time_end-time_start
  print(sun)

总结

以上所述是小编给大家介绍的python进程与线程小结实例分析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

PHP 相关文章推荐
PHP开发中常用的字符串操作函数
Feb 08 PHP
php导出word格式数据的代码实例
Nov 25 PHP
神盾加密解密教程(二)PHP 神盾解密
Jun 08 PHP
解决php表单重复提交实现方法
Sep 29 PHP
PHP-FPM实现性能优化
Mar 31 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
php通过header发送自定义数据方法
Jan 18 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
PHP 获取客户端 IP 地址的方法实例代码
Nov 11 #PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 #PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
Nov 10 #PHP
safari下载文件自动加了html后缀问题
Nov 09 #PHP
centos7上编译安装php7以php-fpm方式连接apache
Nov 08 #PHP
PHP校验15位和18位身份证号的类封装
Nov 07 #PHP
php中如何执行linux命令详解
Nov 06 #PHP
You might like
PHP.MVC的模板标签系统(二)
2006/09/05 PHP
一个程序下载的管理程序(四)
2006/10/09 PHP
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
PHP连接access数据库
2015/03/27 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
php实现银联商务公众号+服务窗支付的示例代码
2019/10/12 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
js代码编写无缝轮播图
2020/09/13 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
python实现挑选出来100以内的质数
2015/03/24 Python
Django 静态文件配置过程详解
2019/07/23 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
经管应届生求职信
2013/11/17 职场文书
新娘父亲婚礼致辞
2014/01/16 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
2016年安康杯竞赛活动总结
2016/04/05 职场文书
Java数据开发辅助工具Docker与普通程序使用方法
2021/09/15 Java/Android
浅谈克隆 JavaScript
2021/11/02 Javascript
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript