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之数组(遍历顺序)  Laruence原创
Jun 13 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
PHP实现模仿socket请求返回页面的方法
Nov 04 PHP
php猴子选大王问题解决方法
May 12 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
php + WebUploader实现图片批量上传功能
May 06 PHP
PHP使用观察者模式处理异常信息的方法详解
Sep 24 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 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如何调用webservice应用介绍
2012/11/24 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
JS控件的生命周期介绍
2012/10/22 Javascript
js 获取、清空input type="file"的值(示例代码)
2013/12/24 Javascript
jquery中对于批量deferred的处理方法
2014/01/22 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
jquery attr()设置和获取属性值实例教程
2016/09/25 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
浅谈python字符串方法的简单使用
2016/07/18 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
python线程中同步锁详解
2018/04/27 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
用canvas显示验证码的实现
2020/04/10 HTML / CSS
瑞典网上购买现代和复古家具:Reforma
2019/10/21 全球购物
2015党建工作简报
2015/07/21 职场文书
学校教代会开幕词
2016/03/04 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
详解Python中下划线的5种含义
2021/07/15 Python