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 相关文章推荐
第1次亲密接触PHP5(1)
Oct 09 PHP
php的正则处理函数总结分析
Jun 20 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
php+js实现异步图片上传实例分享
Jun 02 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
PHP实现PDO的mysql数据库操作类
Dec 12 PHP
php倒计时出现-0情况的解决方法
Jul 28 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 PHP
PHP实现通过strace定位故障原因的方法
Apr 29 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
Aug 17 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
一个域名查询的程序
2006/10/09 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
PHP简单日历实现方法
2016/07/20 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
深入浅析Vue中的slots/scoped slots
2018/04/03 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
Python 的 with 语句详解
2014/06/13 Python
wxPython窗口的继承机制实例分析
2014/09/28 Python
在Python中使用__slots__方法的详细教程
2015/04/28 Python
Python中字符串的处理技巧分享
2016/09/17 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
python实现图片彩色转化为素描
2019/01/15 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
Miller Harris官网:英国小众香水品牌
2020/09/24 全球购物
Java基础知识面试题
2014/03/25 面试题
计算机专业个人求职信范例
2013/09/23 职场文书
师德师风个人反思
2014/04/28 职场文书
读群众路线的心得体会
2014/09/03 职场文书
无房证明范本
2014/09/17 职场文书
2016年会开场白台词
2015/06/01 职场文书