没有静态ip可以做网站服务器,做网站最快多久,wordpress评论区镶嵌图片,网络公司经营范围可以加技术培训BIO AIO NIO 是 Java 中用于 I/O 操作的三种不同的编程模型。它们的区别在于它们执行I/O 操作的方式和效率。在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念#xff1a;同步与异步#xff0c;阻塞与非阻塞。 同步与异步 同步#xff1a;同步就是发起一个调用后#xff… BIO AIO NIO 是 Java 中用于 I/O 操作的三种不同的编程模型。它们的区别在于它们执行I/O 操作的方式和效率。在讲 BIO,NIO,AIO 之前先来回顾一下这样几个概念同步与异步阻塞与非阻塞。 同步与异步 同步同步就是发起一个调用后被调用者未处理完请求之前调用不返回。 异步异步就是发起一个调用后立刻得到被调用者的回应表示已接收到请求但是被调用者并没有返回结果此时我们可以处理其他的请求被调用者通常依靠事件回调等机制来通知调用者其返回结果。 同步和异步的区别最大在于异步的话调用者不需要等待处理结果被调用者会通过回调等机制来通知调用者其返回结果。 阻塞和非阻塞 阻塞 阻塞就是发起一个请求调用者一直等待请求结果返回也就是当前线程会被挂起无法从事其他任务只有当条件就绪才能继续。 非阻塞非阻塞就是发起一个请求调用者不用一直等着结果返回可以先去干其他事情 1. BIO是同步阻塞I/O模型它使用一个线程来处理一个请求如果这个请求没有被处理完这个线程就会一直等待直到请求处理完成。这种模型适用于连接数较小的情况。
2. NIO是同步非阻塞I/O模型它使用单个线程来处理多个请求这些请求可以同时被这个线程处理它通过轮询的方式来处理I/O请求如果有I/O请求就处理没有就继续轮询。这种模型适用于连接数较多但是连接时间短的情况。
3. AIO是异步非阻塞I/O模型这种模型不需要为每个请求创建一个线程由操作系统内部的线程来处理 I/O请求同时它也具有非阻塞的特性I/O请求不会一直等待而是异步执行。这种模型适用于连接数很多的情况。 举个生活中简单的例子 你妈妈让你烧水小时候你比较笨啊在那里傻等着水开 同步阻塞 。 等你稍微再长大一点你知道每次烧水的空隙可以去干点其他事然后只需要时不时来看看水开了没有 同步非阻塞 。 后来你们家用上了水开了会发出声音的壶这样你就只需要听到响声后就知道水开了在这期间你可以随便干自己的事情你需要去倒水了异步非阻塞 。