1.bio同步阻塞,就是客户端与服务没发送一个通信就需要创建一个线程完成
实现原理:bio 几个关键词acceptor监听客户端与服务端的每个请求,就是典型的一问一答模式,客户数量增多就需要频繁的创建和销毁线程,给服务器造成巨大的压力,后期呢改成用线程池的模式,bio 通信呢主要是通过socket,socketserver,实现通行
2.nio 同步非阻塞
客户端和服务端之间通过通道建立通信,nio可以在channal中实现读写通能,然后将这些通道注册到多路复用器上(selector),selector通过轮询channal找出准备就绪的通道实现io操作,
主要有三个特点
缓冲区,nio将数据都放入缓冲区中进行,有一个缓存的数组,
通道 通道是双向的,可以对通道实现读写操作,主要的两个词就是socketchannal和serversocketchannal
多路复用器:就是selector不断轮询注册在selector上的通道,避免了大量线程的创建于销毁
3.aio 异步非阻塞通信模式
aio没有使用多路复用器,而是异步通道的概念,read和write都是future对象 主要是asynchronoussocketchannal与asynchonousserversocketchannal完成通道的实现
bio nio aio
最新推荐文章于 2023-06-05 12:19:43 发布