美文网首页
线程,协程,进程

线程,协程,进程

作者: lyf_god | 来源:发表于2019-07-10 16:40 被阅读0次

    什么是协程?

    1、协程是一种用户态的轻量级线程,协程的调度完全由用户控制。

    2、协程拥有自己的寄存器上下文和栈。

    3、协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,

    4、直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。

    进程、线程、协程对比

    1、进程是资源分配的单位

    2、线程是操作系统调度的单位

    3、进程切换需要的资源很最大,效率很低

    4、线程切换需要的资源一般,效率一般(不考虑GIL)

    5、协程切换任务资源很小,效率高

    6、多进程、多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中 所以是并发

    线程和进程的操作是由程序触发系统接口,最后的执行者是系统;协程的操作则是程序员

     协程,只使用一个线程,在一个线程中规定某个代码块执行顺序

    协程的适用场景:当程序中存在大量不需要CPU的操作时(IO),适用于协程

    浏览器解析过程

    浏览器读取到页面的HTML源码后会解析,并根据里面链接再发送HTTP请求,拿到相应的图片、JS、CSS等各种资源,最终显示出一个完整的页面。所以我们在Network下面能看到很多额外的HTTP请求。

    浏览器向服务器发送HTTP的请求包括

    方法:GET还是POST,GET仅请求资源,POST会附带用户数据;

    如果是POST,那么请求还包括一个Body,包含用户数据

    URL的路径,URL总是以/开头,/就表示首页

    论述http协议

    1、它是超文本传输协议,是我们的浏览器和服务器之间传输数据时的一种约定

    2、请求时至少有请求头,请求头至少有请求方式、请求目标、和协议版本,还可以包含服务器地址、浏览器版本、可接收格式、压缩格式、语言等,也可以有请求体,与请求头用空行隔开,

    3、服务器返回的响应包含请求头和请求体,请求头至少有协议版本和状态码,还可以包含编码格式、请求体长度、服务器时间、Set-Cookie等,空行之后是请求体

    4、请求和响应都是基于TCP发送的字符串,如果是二进制的数据还需要编码和解码,这就是HTTP协议

    相关文章

      网友评论

          本文标题:线程,协程,进程

          本文链接:https://www.haomeiwen.com/subject/xgnhkctx.html