1.首先只要是网络IO , 发送端 必定 开启 2个IO通道,网线通道一定也有2个,即网络IO,一定是双向的
2.网络IO 必定有 2条IO通道,而且一定有 一个发送端,和一个接受端,同时发送端也同时作为接收端,接收端同时作为发送端,系统资源都是 网线接口
网络IO 有 2条 IO通道,并且 2条IO通道,各自连着一个网线接口资源,关闭一个IO通道,只会释放一个 网络接口
一个 IO通道,只能获得一个 系统资源,例如网络IO通道有2个就有2个网线接口资源
IO 通道 是 IO的前提,不能算在 IO操作中,而且 执行 阻塞IO指令,os才会把 线程 变成 阻塞态,不能争抢cpu资源,即阻塞IO 和 非 阻塞IO 和IO通道没有关系,而是跟 其IO指令有关系
关于IO占用系统资源的,系统的资源释放与否,只与 IO通道是否关闭有关系,与 IO指令是否执行完毕没有任何关系
3.只是,接收端给发送端回数据有2种:1.ping的通 2.ping不通,ping不通可能回数据给 接收端,可能不回(这个现在我不知道),但是 不管网络通道有几个,但是 IO通道(发送端内存 -> 网线接口的 数据流通道)一定有2个
4.但是,网络IO的关闭,需要写代码关闭,ping不通,ping的通,想释放网线接口资源,就得关闭 IO 通道,我们常见的 浏览器发请求(里面 源码是关闭了IO 通道的),我们写 mysql连接,那我们要 自己关闭 通道,不然,不会释放网线接口(但我们可能根本不想释放)
5.网络编程,也需要手动关闭 IO 通道,不然不会释放资源
本文探讨了网络IO的双通道特性,强调每个通道对应一个网络接口资源,并指出关闭IO通道是释放系统资源的关键。无论网络连接状态如何,都需要手动关闭IO通道以释放网线接口。此外,内容还涉及了IO通道与阻塞IO指令的区别,以及操作系统如何管理这些资源。
744

被折叠的 条评论
为什么被折叠?



