首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >回顾:网络问题总结

回顾:网络问题总结

作者头像
早起的鸟儿有虫吃
发布2021-03-04 14:20:43
发布2021-03-04 14:20:43
2990
举报
文章被收录于专栏:算法之美算法之美

io类型:

阻赛io (bio),依然需要io操作,从内核读取

非阻赛io(nio),依然需要io操作,从内核读取

Io复用(nio),依然需要io操作,从内核读取

信号驱动io(nio),依然需要io操作,从内核读取

异步io(aio),AIO是真正意义上的异步非阻塞IO模型,数据已经从内核拷贝到用户空间

异步实现有2个方式:

第一个方式: 需要一个1号主线程 循环处理 产品 redis.memache,libevent,node.js(对这个最典型,最好理解一个)

第二个方式:aio ,依靠内核实现

单reactor多线程模式

Redis:

单work线程 epoll_wait 业务处理

多io线程:read write操作

  • epoll et 在读写数据比较大和协程方面有优势 man epoll
  • JS 既然是单线程的,为什么可以执行异步操作?函数调用栈 与任务队列关系?函数能放到任务队列里
  • 在单cpu时代,cpu 和io交替执行,在多cpu时代 cpu和io重叠执行 ,多任务(Multi-tasking) https://mp.weixin.qq.com/s/RIWmDew76jyKK-Ad503YgQ
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Offer多多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档