美文网首页
tcp值bio示例

tcp值bio示例

作者: 屎倒淋头还嚼便 | 来源:发表于2019-04-29 00:04 被阅读0次

    bio:大概是cpu和内存之间交互数据时,cpu读取数据时的方法,是同步阻塞方法。

    nio:

    aio:大概java1.7中,将aio称为nio2.0,它的读写方法都是异步非阻塞的。api大概在            java.nio.channels包中

    一、只使用socket打开的输入流、输出流,不进行包装

    处理每一个连接的数据,不一定都新建一个线程来进行处理,也可以用线程池优化

    可以把服务端的socket实例,就是下面途中的accept对象,交给线程池处理。

    疑问:下面的例子中,服务端从流中读取数据的方法,是同步阻塞方法,一个客户端对应一个输入流,再对应一个线程,这样简单有效,但是开启了太多线程

    用线程池,该怎么设计呢?

    使用线程池,大概就是池中哪个线程空闲,就用哪个,避免了新建太多线程。但是 inputStream.read(b)是阻塞方法,流中没有数据线程会阻塞,怎么会空闲呢?

    大概不能用线程池优化bio,以后百度查一下。

    NIO:监听新建连接,和BIO应该一样,但是处理接收、发送数据不一样,

    nio会建一个线程池,大概用轮询的方式到缓存区中查找发送来的数据。

    废弃 第一张图片中方法的修改

    2、优化?保证了一下输入流、输出流

    相关文章

      网友评论

          本文标题:tcp值bio示例

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