
并发编程
文章平均质量分 87
记录一些并发编程知识点
杨鸿儒
做自己喜欢的事。
展开
-
并发编程(6)----进程池和线程池
进程池和线程池可以避免进程和线程的浪费,提高效率原创 2020-03-31 11:00:50 · 158 阅读 · 0 评论 -
并发编程(5)----进程间数据共享
1.multiprocess.Queue() 2.multiprocess.Manger() 3.数据库原创 2020-03-30 18:14:05 · 172 阅读 · 0 评论 -
并发编程(4)----生产者消费者模型
生产者消费者模型消除了客户端的等待时间,降低服务端与客户端的耦合度且支持高并发 1.模型组成 生产者:生产数据 数据容器:存放生产者生生产的数据,提供给消费者使用 消费者:处理数据 生产者和消费者之间不直接进行通讯,生产者将数据扔到数据容器(队列)中,消费者去数据容器(队列)拿数据,平衡了生产者和消费者速度不匹配的问题 2.模型优点 1.解耦:生产者与消费者之间不进行直接的通讯,二者都依赖数据容...原创 2020-03-30 10:58:50 · 197 阅读 · 0 评论 -
并发编程(3)----线程锁
1.问什么要用线程锁? 因为并发的存在我们不能线程内的某段代码执行完毕之后再去执行其他代码,而且对于线程共享的数据我们不能确保他的安全,所以我们通过加线程锁(给代码加锁)来保证线程安全。 2.线程锁的分类? ①Lock 同步锁 缺点:不支持多次加锁和解锁,会造成死锁现象 ②Rlock 递归锁 用的最多 ③BoundedSemaphore(n) 信号量 在创建锁的时候规定好一次能通过几个线程 ④C...原创 2020-03-30 10:57:41 · 145 阅读 · 0 评论 -
并发编程(2)----threading.local()剖析
threading.loacl()对象内部实质上是一个字典 我们都知道通过threading.local()可以创建一个独立可靠的为线程存取数据空间,但内部到底是怎样的,我们来分析一下 1.简单分析 import threading import time info = {} def test(arg): tid = threading.get_ident() #获取线程的id ...原创 2020-03-30 10:56:43 · 219 阅读 · 0 评论 -
并发编程(1)----初识概念
进程和线程 并行,并发,串行原创 2020-03-28 18:28:23 · 198 阅读 · 0 评论