• 同步/异步、阻塞/非阻塞



    bio 针对客户端的每次请求,开启一个线程,如果网络很慢这个线程会阻塞在输入流/输出流的读写上;(unix io模型: select、poll)
    nio 客户端的请求会通过通道的形式注册到选择器上,选择器会轮询已经注册的通道状态,如果是可读则去处理,
      没有线程会阻塞在网络等待上,数据准备好了才有线程才会去处理;(unix io模型: epoll)
    aio 客户端的请求服务端不会主动关心IO的具体情况,什么时候可读,什么时候写,而是绑定一个钩子方法
      当IO可读的时候,则执行对应的方法;(windows是iocp ,linux还是epoll)

    总结:
    阻塞/非阻塞:就是程序需不需要等待网络传输
    同步/异步: 程序是不是需要主动过问资源的状态,对应的状态就绪之后会做相应的处理;
    而异步的态度是我不过问资源是不是就绪好,告诉系统如果就绪好了就执行某些动作
    这种方式不适合那种前置条件的场景,并且有后续处理的那种。

    参考: http://simplelife.blog.51cto.com/9954761/1871129 

  • 相关阅读:
    python+selenium框架
    django--form组件
    python +selenium上传文件
    python--UI---登录---验证码
    python+selenium button定位方法
    css-定位技术
    css-盒子模型
    css-元素分类
    序列化
    FileUploadController
  • 原文地址:https://www.cnblogs.com/wuMing-dj/p/5341459.html
Copyright © 2020-2023  润新知