我们写客户端:

    重新开始---sgg-netty----4

-----------------------------------------------------31-------------------------------------------------

写启动代码。

总结:看文档

-----------------------------------------------------32-------------------------------------------------

零拷贝:

   传统的IO经过四次拷贝和三次切换。

read方法:

 重新开始---sgg-netty----4

第一步:硬盘上的数据通过DMA拷贝到内核。

第二步:内核数据用cpu拷贝到用户的buffer。

第三步:数据在用户buffer修改,然后cpu拷贝到socketBuffer。

第四步:DMA拷贝到协议栈。

传统的IO拷贝的次数是非常多的。

-----------------

重新开始---sgg-netty----4

第一步:DMA拷贝到内核的

第二步:内核和用户的buffer共享数据。

第三步:修改拷贝到socketBuffer。

第四步:拷贝到协议栈。

此时三次拷贝三次切换。

-----------------------------------------

重新开始---sgg-netty----4

三次拷贝两次切换,取消用户态。

---------------

零拷贝是没有cpu的靠拷贝的。

重新开始---sgg-netty----4

重新开始---sgg-netty----4

重新开始---sgg-netty----4

-----------------------------------------------------33-------------------------------------------------

NIO里面的0拷贝:

   重新开始---sgg-netty----4

解释:

重新开始---sgg-netty----4

----------------------------------------------------34--------------------------------------------------

重新开始---sgg-netty----4

总结对比:

重新开始---sgg-netty----4

-------------------------------------------------35---------------------------------------------------------

重新开始---sgg-netty----4

异步的基于事件驱动的网络框架。

重新开始---sgg-netty----4

重新开始---sgg-netty----4

重新开始---sgg-netty----4

4.1.2版本我们去讲。

-------------------------------------------------36---------------------------------------------------------

相关文章:

  • 2021-06-17
  • 2022-12-23
  • 2022-02-17
  • 2021-09-24
  • 2021-05-19
  • 2021-03-27
  • 2021-06-29
  • 2021-06-08
猜你喜欢
  • 2021-07-07
  • 2021-04-18
  • 2021-08-06
  • 2021-08-23
  • 2022-01-01
相关资源
相似解决方案