robi?robin!

IONIOBIO 傻傻分不清吗,面试官必问知识点

robi?robin!

哈喽!大家好,我是猿之生活,一位热爱分享的程序员,希望本文章对你我都有帮助。

robi?robin!

前提基础知识

robi?robin!

同步和异步

同步和异步描述的是消息通信的机制。

  • 同步:按顺序执行,最后才把结果返回。同步调用的调用者一定会得到被调用者的结果。
  • 异步:不必按顺序执行,被调用者先返回,再处理业务逻辑。
robi?robin!

阻塞和非阻塞

阻塞和非阻塞描述的是程序在等待调用结果(消息,返回值)时的状态。

  • 阻塞:调用方在等待被调用方返回结果时不做任何事情;
  • 非阻塞:调用者在等待被调用者返回结果来处理其他事情。

并发和并行

  • 并发:在一段时间内,几个程序在同一个CPU上运行。
  • 并行:几个程序在一段时间内运行在不同的CPU上,在任意一个时间点,都有多个程序同时运行,互不干扰。

IO、BIO、NIO简介

BIO简介

同步阻塞式IO,数据的读取写入必须在一个线成内等待并完成,如果时间处理时间长,则阻塞,直至完成。

robi?robin!

BIO通信模型:一请求一应答

robi?robin!

用户线程进行 read (读)操作时,需要等待执行操作,此时线程是被阻塞的,无法执行其他操作。

robi?robin!

NIO简介

同步非阻塞式IO,关采用了事件驱动的思想,主要来实现了一个多路转换器。NIO支持面向缓冲。

NIO 组件包括Buffer(缓冲区)、Channel(管道、通道)、Selector(选择器,多路复用器)。

robi?robin!

NIO与BIO区别

只需要一个线程就可以处理来自多个客户端的IO事件。

robi?robin!

NIO实现代码

robi?robin!

I/O

I/O是Input输入/Output输出的简称,通常指数据在计算机硬件或其他周边设备之间的输入和输出。

AIO

AIO 用来解决数据复制阶段的阻塞问题。

三者总结

robi?robin!

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 673862431@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.bbqim8.com/archives/30178