《网络编程nio的原理》听课笔记

2019, Jun 11    

BIO->NIO why?(非多线程时,BIO无法实现并发。实现并发必须使用多线程,一个请求一个线程。

缺点:但是并不是所有的请求都进行通信数据)

对服务器端来说,如果不活跃的线程比较多,就应该首先考虑单线程

目录

  • jni调用过程
  • openJDK源码
  • linux网络编程的函数

netty ->对nio的一个封装

BIO 3个Socket: 一个监听的,监听到请求accept产生出来的socket,以及客户端的一个socket

两个阻塞

  • accept() 阻塞连接

  • read() 阻塞数据

NIO解释 nonlocking io/new IO

轮询数据交给操作系统

epoll:当有数据来时 ,告诉你 是哪个socket的数据。

数据感知的具体实现:不同平台不一样