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 相关文章推荐
Email+URL的判断和自动转换函数
Oct 09 PHP
Ajax PHP分页演示
Jan 02 PHP
PHP 中文处理技巧
Apr 25 PHP
PHP缓存技术的使用说明
Aug 06 PHP
PHP利用REFERER根居访问来地址进行页面跳转
Sep 28 PHP
thinkphp实现发送邮件密码找回功能实例
Dec 01 PHP
MySql数据库查询结果用表格输出PHP代码示例
Mar 20 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
Jul 25 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
Nov 25 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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 文件扩展名 获取函数
2009/06/03 PHP
简单的php数据库操作类代码(增,删,改,查)
2013/04/08 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
类似CSDN图片切换效果脚本
2009/09/17 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
100行代码实现vue表单校验功能(小白自编)
2019/11/19 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
详解python字节码
2018/02/07 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
python利用faker库批量生成测试数据
2020/10/15 Python
python数据抓取3种方法总结
2021/02/07 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
Android笔试题总结
2014/11/29 面试题
毕业生自荐书
2014/02/03 职场文书
电台实习生求职信
2014/02/25 职场文书
小学评语大全
2014/04/22 职场文书
服务理念标语
2014/06/18 职场文书
公司离职证明标准范本
2014/10/05 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
Go语言grpc和protobuf
2022/04/13 Golang