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 验证码制作(网树注释思想)
Jul 20 PHP
PHP开发过程中常用函数收藏
Dec 14 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
Jan 04 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
PHP+JS三级菜单联动菜单实现方法
Feb 24 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
总结一些PHP中好用但又容易忽略的小知识
Jun 02 PHP
多个Laravel项目如何共用migrations详解
Sep 25 PHP
laravel请求参数校验方法
Oct 10 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需登录的文件上传管理系统
2020/03/21 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
使用js 设置url参数
2013/07/08 Javascript
javascript 实现键盘上下左右功能的小例子
2013/09/15 Javascript
js控制iframe的高度/宽度让其自适应内容
2014/04/09 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
JavaScript 中 avalon绑定属性总结
2016/10/19 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
Vue的Eslint配置文件eslintrc.js说明与规则介绍
2020/02/03 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
Django中几种重定向方法
2015/04/28 Python
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python字节单位转换实例
2019/12/05 Python
keras 多gpu并行运行案例
2020/06/10 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
孕妇内衣和胸罩:Cake Maternity
2018/07/16 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
Linux如何压缩可执行文件
2014/03/27 面试题
《我的信念》教学反思
2014/02/15 职场文书
成人继续教育实施方案
2014/03/01 职场文书
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL
python字符串的多行输出的实例详解
2021/06/08 Python