网络编程NIO中的阻塞与非阻塞

同步与异步

同步:线程自己去获取结果。(只有一个线程)

异步:线程自己不去获取结果,由其他线程去获取。(多个线程之间通信)

阻塞

阻塞模式下,线程要执行I/O操作时,必须等待I/O操作完成,才能向下运行。(同步)

非阻塞

非阻塞模式下,线程要执行I/O操作时,只需在等待操作完成期间保持响应,处理其他任务。(同步/异步)

多路复用

在NIO多路复用中,当一个线程调用选择器的select()方法时,选择器会阻塞等待,直到有已注册的通道就绪(可以执行读或写操作)。然后选择器会返回一个就绪通道的集合,线程可以遍历这个集合,对每个就绪的通道执行相应的IO操作。这样,一个线程就可以同时处理多个网络连接,提高了处理能力和并发性。

相关推荐
CHENKONG_CK5 小时前
晨控CK-UR08与汇川AC系列PLC配置EtherNet/IP通讯连接手册
网络·网络协议·自动化·ethernet/ip·汇川·rfid
BS_Li5 小时前
【Linux网络编程】Socket编程UDP
linux·网络·udp
IP老炮不瞎唠5 小时前
SOCKS5 vs HTTP:哪种代理协议更适合你的业务场景
网络·网络协议·http
智算菩萨6 小时前
【Pygame】第19章 网络多人游戏基础与局域网联机原理
网络·python·游戏·pygame
mounter6256 小时前
深度解析 Linux 内核 devlink:从硬件控制到跨功能速率调度的演进
linux·运维·服务器·网络·内核
中科三方6 小时前
HTTP劫持与DNS劫持有什么区别?如何识别和防范?
网络·网络协议·http·dns
福尔摩斯张6 小时前
一文搞懂74HC595芯片(附详细使用方法)
linux·服务器·网络·单片机·嵌入式硬件
admin and root6 小时前
XSS之Flash弹窗钓鱼
前端·网络·安全·web安全·渗透测试·xss·src
小江的记录本6 小时前
【Docker】Docker系统性知识体系与命令大全(镜像、容器、数据卷、网络、仓库)
java·网络·spring boot·spring·docker·容器·eureka
EmbeddedCore6 小时前
详解新设备接入网络:DHCP、ARP、ICMP交互流程(附原理+实操备注)
网络