python 线程通信的几种方式_Python 线程、线程通信、多线程
这是一篇学习Python 线程相关的内容,记录一下以备复习和开发使用,技术有限,如有问题欢迎指出,多谢。
一.GIL 全局解释器锁(cpython)
1.为什么会有这个锁:为了线程安全,减少python使用者的上手难度
GIL 使得同一个时刻只有一个线程在一个cpu上执行字节码,无法隐射到多个cpu,多核上执行。
2.特殊情况下会释放GIL:达到特定字节码行数、到底特定数目时间片、IO操作(主动)
二:并发和并行的区别
并发:描述程序的组织结构,指程序要被设计成多个可独立执行的子任务
并行:描述程序的执行状态,指多任务需要同时执行
三:守护线程&线程阻塞
守护线程:thread.setDaemon(true),当主程序退出的时候让子程序也一并退出
子线程阻塞:thread.join(),当子程序都结束后主程序再退出
四:多线程的写法
实例化Threading,调用Threading的方法去进行多线程编程
写子类继承Theading,重写相应的方法
说明:当程序简单时可使用实例化方法,当程序较复杂的时候,实现逻辑较多,第二种方法。
五:线程间通信
1.共享变量:
方法简单,也可以写入到单独的py文件中。问题:线程不安全,易出问题。
2.queue 队列:
使用queue 的 Queue,这个是线程安全的
python 线程通信的几种方式_Python 线程、线程通信、多线程相关推荐
- linux系统线程通信的几种方式,Linux进程间通信-线程间通信
Linux作为一种新兴的操作系统,几乎支持所有的Unix下常用的进程间通信方法:管道.消息队列.共享内存.信号量.套接口. 1.管道 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动 ...
- python读文件的三种方式_Python|读、写Excel文件(三种模块三种方式)
python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别: 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: import xlrd from xlut ...
- python函数参数传递的两种方式_Python函数的参数传递方式
Python函数的参数传递方式 一.普通 def add(a,b): return a+b print(add(1,2)) #输出结果:3 二.可选参数 def myjoin(string,sep=' ...
- 创建线程池的四种方式_创建线程到底有几种方式?
很多时候,在项目中使用线程的情况很少,导致很多人只停想起最常见的两种创建线程的方法,即继承Thread类和实现Runnable接口. 而网络上大家有人认为是三种实现方式,也有人认为是四种实现,下面我们 ...
- python连接mysql的几种方式_Python连接MySQL数据库的多种方式
本次代码实现连接远程服务器 由于MySQL服务器以独立的进程运行,并通过网络对外服务,所以,需要支持Python的MySQL驱动来连接到MySQL服务器. 目前,MySQL驱动有几种: mysql-c ...
- python字符串换行的三种方式_python中的字符串内部换行方法
python中的字符串内部换行方法 python里有两种在字符串内部换行的方式(使用一个print打印多行字符串). 首先使用\n的方法大家肯定都知道了. 然后是使用 ''' 三个单引号大方法. 在交 ...
- python读取文件的三种方式_python中读取文件的f.seek()方法
用于二进制文件中 F.seek方法 作用: 设置读写位置 F.seek(偏移量, whence=相对位置) 偏移量 大于0的数代表向文件末尾方向移动的字节数 小于0的数代表向文件头方向中移动的字节数 ...
- python字符串换行的三种方式_Python 字符串换行的多种方式
第一种: x0 = '<?xml version="1.0"?>' \ ' ' \ ' Python' \ ' Ruby' \ ' ' 第二种: x1 = '<? ...
- python下载文件的11种方式_Python下载文件的11种方式
在本教程中,你将学习如何使用不同的Python模块从web下载文件.此外,你将下载常规文件.web页面.Amazon S3和其他资源. 最后,你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件. ...
最新文章
- 基于耳-脑电图的脑机接口研究进展
- TongJI Online Judge预赛(2): LOVE LETTER
- Linux执行yum不显示时间图形,Linux停的yum命令详解(朝花夕拾)
- Dalvik内存管理
- 一文看懂WebTransport
- Maven构建项目 — 知识点梳理
- 2013北理机试题——中缀算术表达式对应二叉树的先序遍历
- 利用ffmpeg一步一步编程实现摄像头采集编码推流直播系统
- VS编译器的使用——VS2019新建控制台工程
- SCI期刊分区介绍 / 中国科学技术信息研究所SCI(E)论文期刊分区列表——2017年-2020年-文件分享
- [译文]GBAGuy的GBA ASM教材 第一章 概述
- python3 flask 使用Mysql数据库
- 团队管理那点破事,OKR绩效、核心人才、面试、技术分享、研发流程
- ElasticSearch 7.7.0 高级篇-搜索技术
- MapReducer的map和reducer的几种写法模板以及自定义数据类型
- 神州信息与瀚华金控签署战略协议 共推数字普惠金融
- Bmob 萌新也能简易上手 之一 注册登录- *2020版 (有demo)
- 园区网运维经验之ARP协议
- python农历_用python计算农历/阴历假日
- 大卫艾克~雄狮醒来2:实相的本质(中字)