Selector底层epoll原理
2021-02-10 18:47:03 0 举报
epoll深入理解
作者其他创作
大纲/内容
client
buffer
select(fds)
SelectionKeyInterest:Accept
cancel()
SelectableChannel
fd6所描述的空间
SelectedKeys
SelectionKeyInterest:Read
selector.open
Keys
5.select()返回
SelectionKeyInterest:Read & Write
中断处理2:cb后在红黑树里找fd4,并将其放置到list中
2.得到一个selectionKey
appsocket -> fd4bindlisten fd4
1.register()
7.remove()
中断处理1,回调函数将数据拷贝到fd4的buffer里
循环遍历
fd4
4.关注事件发生
延申
kernel
selector.select()
select poll
3.自动加入Keys集合
epoll_wait
appsocket -> fd4bindlisten fd4epoll_createepll_ctlepll_wait
网卡
CanceledKeys
Selector
6.轮询处理
fd4->accept
epoll规避了遍历
epoll_create
下一轮select被删除
有状态的fd
EPOLL V.S SELECT/POLL
收藏
0 条评论
回复 删除
下一页