python进程与线程小结实例分析
时间:2022-07-27
本文章向大家介绍python进程与线程小结实例分析,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
传统方式是调用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进程与线程小结实例分析,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
- 模式识别---图像二值化
- 双边过滤算法
- C++对于大型图片的加载缩放尝试
- ijg库解码超大型jpeg图片
- JS基础(下)
- Go语言_并发篇
- AttributeError: 'int' object has no attribute 'log'
- makefile在编译的过程中出现“except class name”
- 调参过程中的参数 学习率,权重衰减,冲量(learning_rate , weight_decay , momentum)
- 【Golang语言社区】游戏编程--js开发实现简单贪吃蛇游戏(20行代码)
- mxnet框架样本,使用C++接口
- faster-rcnn中ROI_POOIING层的解读
- RNN的简单的推导演算公式(BPTT)
- Golang语言为结构体排序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring-IOC-默认标签的解析
- Spring-IoC -加载 Bean-总览
- Spring-IOC-创建Bean-属性填充
- vi与vim如何修改tab为4个空格方法示例
- Linux使用Crontab定时访问某个路由地址的方法
- jmeter 在linux服务器的安装和运行教程图解
- Linux中改变文件权限的chmod命令详析
- Ubuntu常用指令及用法详解
- Linux 系统使用私钥登录的教程详解
- Ubuntu如何轻松编译openJDK详解
- 详解Linux下Tomcat开启查看GC信息
- Centos7.4 zabbix3.4.7源码安装的方法步骤
- CentOS7环境搭建python3以及与python2实现共存的方法
- centos7.0安装离线JDK1.8方法详解
- ubuntu中swap(虚拟内存)设置方法