• BIO

    同步阻塞IO模型,在该模型中,应用发起read调用后会一直阻塞,直到内核将数据拷贝到用户空间

    • NIO
      • 同步非堵塞IO模型。在该模型中,可以多次发起read请求,但是当运行到内核进行将数据拷贝到用户空间时会堵塞,通过轮询操作可以避免一直阻塞,但是多次数的请求read会导致cpu占用过高
      • IO多路复用模型,线程会首先进行select的调用进行查询,查询内核数据是否准备就绪,如果准备就绪了再去进行read调用,不过在read调用时的内核空间-用户空间的数据拷贝还是堵塞的,但是对比同保护非堵塞IO模型,会极大降低CPU的资源消耗
    • AIO

    异步IO模型,它是基于回调机制进行允许的,当应用操作之后会直接进行返回,然后应用线程可以去做其他操作,而结果会在其操作完成后回调通知其线程进行后续的操作,这样避免线程堵塞