常见IO模型

2025-3-3 diaba IO

常见的I/O模型主要有五种,分别是同步阻塞I/O、同步非阻塞I/O、I/O多路复用、信号驱动I/O和异步I/O。以下是对这五种模型的详细介绍: 1. 同步阻塞I/O(Blocking I/O) 工作原理:当用户程序调用read函数读取数据时,如果数据尚未准备好,用户线程会被阻塞,直到数据准备好并被拷贝到用户空间。 优点:实现简单,挂起不占用CPU资源。 缺点:线程资源浪费,效率低下,因为线程在等待数据时不能做其他工作。 2. 同步非阻塞I/O(Non-Blocking I/O) 工作原理:允许用户...

阅读全文>>

标签: IO

评论(0) 浏览(50)

java-nio-client聊天室客户端

2022-3-13 diaba IO

package com.jiucaiyuan.net.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; import java.util.Scanner; /** * @Author jiucaiyuan 2022/3/13 11:04 * @mail services@jiucaiyuan.net */ public class Cl...

阅读全文>>

评论(0) 浏览(1154)

java-nio-server聊天室服务端

2022-3-13 diaba IO

package com.jiucaiyuan.net.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SelectionKey; import java.nio.channels.Selector; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import ...

阅读全文>>

评论(0) 浏览(1190)

IO操作(同步阻塞、同步非阻塞、异步)

2015-11-30 diaba IO

IO操作可以分为3类:         同步阻塞(即早期的IO操作,<=jdk1.4)、同步非阻塞(NIO,>=jdk1.4)、异步(AIO,>=jdk1.7)。  同步阻塞:      在此种方式下,用户进程在发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。JAVA传统的IO模型属于此种方式。  同步非阻塞:    &nbs...

阅读全文>>

标签: IO操作 同步 异步 阻塞

评论(0) 浏览(3112)

Powered by emlog 京ICP备15045175号-1 Copyright © 2022