IO通信

作者: 欧阳峰_oyf | 来源:发表于2018-06-03 21:12 被阅读0次

BIO(Buffer Input/ Output ,同步的通信模式 )

一请求一线程

一个线程负责连接

缺点,缺乏弹性伸缩,并发大的时候线程处理不过来(有n个客户端,统一acceptor接收,然后服务端就会创建n个线程)

BIO

伪异步IO通信

利用线程池负责连接,m请求n回答

但线程池会阻塞,线程池会设置最大线程数,消息队列大小,当客户端数据量太大就处理慢(线程池会阻塞

伪异步IO

NIO通信(非阻塞同步的通信模式)

使用缓冲区Buffer(在读写的时候,都是先从缓冲区读,先写入缓冲区)

有通道Channel(双向的,可以用读写同时进行)

多路复用器(不断地轮询channel,无最大连接数限制)

AIO通信(非阻塞异步的通信模式)

连接注册读写事件和回调函数

读写方法异步

主动通知程序

(不需要 多路复用器不断地轮询channel,简化了操作模型)

相关文章

  • IO通信

    BIO(Buffer Input/ Output ,同步的通信模式) 一请求一线程一个线程负责连接缺点,缺乏弹性伸...

  • 【JAVA】IO通信

    BIO通信 一请求一应答,对于后端创建的线程太多,不好BIO 阻塞同步 伪异步IO通信 由线程池来统一处理客户端的...

  • Java I/O概述

    IO流 谈到IO,我们会想到从磁盘读取的文件IO,网络请求的Socket IO,还有可能我们不怎么常用的跨进程通信...

  • 高性能IO模型与线程模型

    IO模型 linux系统实现IO通信,主要是依靠几个系统调用函数实现的: recvFrom实现非阻塞和阻塞IO,该...

  • JAVA过关题-NIO是什么?适用于何种场景

    BIO(Blocking-IO)和NIO(Non-Blocking-IO或New IO)是两种不同的网络通信模型,...

  • BIO NIO AIO

    BIO BIO意为阻塞IO(Blocking IO),即所有的通信方法如Accept,connect,read和w...

  • Java IO socket通信

    由于最近在看Netty框架相关的东西,就把Java IO 这块的内容全部重新复习了一遍。这篇文章主要是把我在复习过...

  • tomcat的线程配置

    首先,这和tomcat的使用的IO模式有关 关于Java IO模式、以及IO处理的线程模型等基础的通信框架的知识,...

  • websocket(1)

    socket.io简述 1、基本介绍 socket.io是基于websocket技术,实现实时通信功能的技术。 简...

  • Deepstream.io

    deepstream.io 介绍 deepstream.io是一个开放(MIT协议)高效的实时通信服务器,可以快速...

网友评论

      本文标题:IO通信

      本文链接:https://www.haomeiwen.com/subject/hyvugxtx.html