Netty

参考

事件驱动模型

  • 轮询方式 和 事件驱动方式 有什么狗屁区别呢.

IO

  • I/O 任务 processSelectedKeys 方法触发。
  • 非 IO任务 添加到taskQueue 中的任务
    • 不是很懂

IO多路复用, I/O Multiplexing

  • select poll epoll

epoll

  • 用户态 内核态
  • WBD
  • Epoll LT ET
    • LT Level Triggered 事件未处理就会触发
    • ET Edge Triggered 高低电平转换时, 才会触发
    • EL 高效模式
      • 为什么是高效的,为什么.

Epoll 系统调用

  • epoll_create

  • epoll_ctl

  • epoll_wait / epoll_pwait

  • 线程 等待队列

    • 每次调用select都需要将进程加入到所有监视socket的等待队列
    • 不是很懂?????
  • 操作系统把进程A分别加入这三个socket的等待队列中。

    • 什么狗屁意思, socket 那里有等待队列?????
    • socket 的等待队列是什么意思????

eventpoll的数据结构

  • 就是对象, 加链表呗
  • socket 应该是 Tree.

就绪列表

  • rdllist 双向链表
  • 怎么解决快速删除的问题???
posted @ 2020-09-30 11:06  WANGHAO229  阅读(166)  评论(0)    收藏  举报