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调用数据库的存贮过程
Oct 09 PHP
PHP安全配置
Dec 06 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
PHP 防恶意刷新实现代码
May 16 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
May 05 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 PHP
PHP加密解密类实例分析
Apr 20 PHP
joomla实现注册用户添加新字段的方法
May 05 PHP
PHP 数组遍历foreach语法结构及实例
Jun 13 PHP
PHP函数积累总结
Mar 19 PHP
PHP __call()方法实现委托示例
May 20 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中抽象类、接口的区别与选择分析
2016/03/29 PHP
VBScript版代码高亮
2006/06/26 Javascript
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
json字符串之间的相互转换示例代码
2014/08/21 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
Bootstrap编写导航栏和登陆框
2016/05/30 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
基于vue实现微博三方登录流程解析
2020/11/04 Javascript
[43:57]Liquid vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python函数的周期性执行实现方法
2016/08/13 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
python保存文件方法小结
2018/07/27 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
新西兰最大的在线设计师眼镜店:SmartBuyGlasses新西兰
2017/10/20 全球购物
捷克钓鱼用品网上商店:Parys.cz
2018/06/15 全球购物
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
夜不归宿检讨书
2014/02/25 职场文书
工作评语大全
2014/04/26 职场文书
安全生产工作汇报
2014/10/28 职场文书
工作收入住址证明
2014/10/28 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
安全生产感想
2015/08/07 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL