socket服务端实现并发
进程池线程池
协程
IO模型
小总结 网络编程+并发编程
无论是开线程还是开进程其实都消耗资源,开线程消耗的资源比开进程的小
池:
为了减缓计算机硬件的压力,避免计算机硬件设备崩溃
虽然减轻了计算机硬件的压力,但是一定程度上降低了持续的效率
进程池线程池:
为了限制开设的进程数和线程数,从而保证计算机硬件的安全
如何使用?
协程:
进程:资源单位(车间)
线程:最小执行单位(流水线)
协程:单线程下实现并发
并发:看上去像同时执行就可以称之为并发
多道技术:
空间上的复用
时间上的复用
核心:切换+保存状态
协程:完全是我们高技术的人自己编出来的名词
通过代码层面自己监测io自己实现切换,让操作系统误认为
你这个线程没有io
切换+保存状态就一定能够提升你程序的效率吗?
不一定
当你的任务是计算密集型,反而会降低效率
如果你的任务是IO密集型,会提升效率
yield
协程:单线程下实现并发
如果你能够自己通过代码层面监测你自己的io行为
并且通过代码实现切换+保存状态
单线程实现高并发
开多进程
多个进程下面再开多线程
多个线程下开协程
实现高并发
IO模型
今日重点:
进程池线程池的用法
协程
socket通信 文件上传(粘包问题)