一:什么是协程:
1, 单线程实现并发
在应用程序里控制多个任务的切换+保存状态
优点: 应用程序级别的速度要远远高于操作系统的切换
缺点: 只有 一个线程,多个任务一旦有一个阻塞没有切,整个线程都阻塞在原地
一旦引入协程,就需要检测单线程下所有的IO行为,实现遇到IO就切换,少一个都不行,因为一旦一个任务阻塞住了,整个线程就阻塞住了。其他的任务即便是可以计算,但也无法运行了。
2,协程的目的
想要在单线程下实现并发
并发指的是多个任务看起来是同时运行的
并发===切换+保存状态
3,用法


二:网路IO 模型
recv/recvfrom:基于网络收数据主要有两种状态:
wait date:等待客户端产生数据------》客户端OS-------》网络------》服务端操作系统缓存(耗时)
copy date:由本地操作系统缓存中 的数据拷贝到应用程序的内存中
send:
只有copy date状态,所以看起来速度很快
本文介绍了协程的概念及其在单线程环境下实现并发的方法,分析了其优缺点,并探讨了网络IO模型中的recv和send操作的状态及效率问题。
967

被折叠的 条评论
为什么被折叠?



