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 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
PHP生成RSS文件类实例
Dec 05 PHP
php实现计数器方法小结
Jan 05 PHP
php去除头尾空格的2种方法
Mar 16 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
PHP基于GD库的图像处理方法小结
Sep 27 PHP
PHP isset()与empty()的使用区别详解
Feb 10 PHP
PHP简单装饰器模式实现与用法示例
Jun 22 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
php apache开启跨域模式过程详解
Jul 08 PHP
在 Laravel 项目中使用 webpack-encore的方法
Jul 21 PHP
php tpl模板引擎定义与使用示例
Aug 09 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注入实例
2006/10/09 PHP
windows下zendframework项目环境搭建(通过命令行配置)
2012/12/06 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
jQuery 性能优化指南(2)
2009/05/21 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
Python3字符串学习教程
2015/08/20 Python
python绘制直方图和密度图的实例
2019/07/08 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
python groupby 函数 as_index详解
2019/12/16 Python
python中什么是面向对象
2020/06/11 Python
通过自学python能找到工作吗
2020/06/21 Python
CSS3利用text-shadow属性实现多种效果的文字样式展现方法
2016/08/25 HTML / CSS
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
iframe跨域的几种常用方法
2019/11/11 HTML / CSS
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
大专生的学习自我评价
2013/12/04 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
2015初中团委工作总结
2015/07/28 职场文书