python全栈开发_day36_高并发,协程

socket服务端实现并发

进程池线程池

协程

IO模型

小总结 网络编程+并发编程





无论是开线程还是开进程其实都消耗资源,开线程消耗的资源比开进程的小

池:
为了减缓计算机硬件的压力,避免计算机硬件设备崩溃

虽然减轻了计算机硬件的压力,但是一定程度上降低了持续的效率

进程池线程池:
为了限制开设的进程数和线程数,从而保证计算机硬件的安全

如何使用?



协程:
进程:资源单位(车间)
线程:最小执行单位(流水线)
协程:单线程下实现并发

并发:看上去像同时执行就可以称之为并发

多道技术:
空间上的复用
时间上的复用
核心:切换+保存状态

协程:完全是我们高技术的人自己编出来的名词
通过代码层面自己监测io自己实现切换,让操作系统误认为
你这个线程没有io

切换+保存状态就一定能够提升你程序的效率吗?
不一定
当你的任务是计算密集型,反而会降低效率
如果你的任务是IO密集型,会提升效率

yield


协程:单线程下实现并发
如果你能够自己通过代码层面监测你自己的io行为
并且通过代码实现切换+保存状态

单线程实现高并发
开多进程
多个进程下面再开多线程
多个线程下开协程
实现高并发


IO模型


今日重点:
进程池线程池的用法

协程




socket通信 文件上传(粘包问题)

原文地址:https://www.cnblogs.com/xuxingping/p/10853926.html