摘要:greenlet: 原生的协程包 pip3 install greenlet 价值一:高性能的原生协程 价值二:语义更加明确的显示切换 价值三:直接将函数包装成协程,保持代码风格 gevent:
阅读全文
随笔分类 - python并发
fighting
摘要:greenlet: 原生的协程包 pip3 install greenlet 价值一:高性能的原生协程 价值二:语义更加明确的显示切换 价值三:直接将函数包装成协程,保持代码风格 gevent:
阅读全文
摘要:进程池线程池并发服务器 奇怪的是在windows下运行出错,在linux没出错。
阅读全文
摘要:池:存任务的空间,存入多个线程就叫线程池。(每个线程开启关闭耗费资源,线程池统一管理,线程可重复使用) 重复利用的线程池,代码实现:
阅读全文
摘要:生产者与消费者模型,其实是把一个需要进程通信的问题 分开考虑 生产者,只需要王队列里存任务 消费者,只需要从队列里取任务 多线程版生产者与消费者模式 多进程版生产者与消费者模式
阅读全文
摘要:队列有一个单独的计数器,值为0时代表队列操作完了(不阻塞)。 put一次计数器 +1,get一次计数器不变, task_done()计数器减一 队列特点:先进先出
阅读全文
摘要:多进程之间有各自的内存空间,多线程是共享同一个线程的空间 多进程之间的通信 多线程之间的通信 多线程大数据通信紊乱 线程共享内存的竞争问题,a=0, t1 -> 0 + 1(尚未将结果复制给a, 切换线程至t2), t2 -> 此时a依然为 a=0, 执行0-1并复制给a=-1, 切回t1继续执行,
阅读全文
摘要:轮询调度实现并发 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。 时间片轮转:(执行完第1个任务,再执行第2个,...) 优先级调度:(有优先顺序) 多线程实现并发: 线程被称为轻量级进程(微进程),与进程类似,是在进程下执
阅读全文
摘要:并行需要多个cpu才能实现并行 一个cpu只能做到并发,多个cpu同时运行多个程序实现并行。 2个cpu开启两个进程: 多进程实现并行
阅读全文
摘要:非阻塞套接字编程: server端 IO多路复用之epoll(linux上效率最高的io复用技术)机制基于linux内核 : (tornado封装了epoll,因此tornado适用于linux) IO多路复用(epoll) 注册事件 等待事件被触发 由操作系统监控 惰性 非主动调用 代码调用
阅读全文
摘要:osi七层模型 tcp/ip四层模型 socket套接字 tcp 协议是可靠的 包括 三次握手 四次挥手 三次握手: 四次挥手 :
阅读全文
|