码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 2.3.1 协程设计原理与汇编实现


    1. 协程理论

      1. 协程解决同步下的异步效率的需求,
    2. 三级协程结构的代码 :github.com/wangbojing/NtyCo

    3. 协程如何使用?

    4. 编译时,-L 和 -I的区别。

    5. timewait 是什么时候?

    6. 项目代码怎样维护?怎样添加新的代码?才是方便的。

    7. hook是什么? init_hook() 又是什么?dlsym()又是怎么截获的?![[Pasted image 20220823202942.png]]

    8. ![[Pasted image 20220823203048.png]]
      c++的这样的内部变量还有哪些?都是什么含义?

    9. 非协程链接mysql的过程是怎样的?![[Pasted image 20220823203508.png]]

    10. 那协程是怎样处理链接mysql的过程的? ![[Pasted image 20220823203458.png]]![[Pasted image 20220823203859.png]]

      1. 协程是一个壳
      2. 将每一个IO操作包裹,
      3. 检测是不是可写的?
      4. 如果不可以 存放到epoll中
      5. 跳出
      6. 检测fd 池
      7. 有无就绪
      8. 没有再次轮询
    11. mysqlclient 的开发接口应该有哪些?怎么实现的?参考mysql_oper.c 回答

      1. 增删改查
      2. 存储过程
      3. 二进制的添加和读取。
    12. 数据库的存储过程是什么?

    13. 协程和内存池

      1. 内存池
      2. tcmalloc
      3. jemalloc
    14. 面试题: 对多进程中的hook之间是抢占式惊群还是先申请先使用?

    15. 协程 和 线程 可以混用吗? 可以为什么?不可以为什么?

    16. 辨析:协程的性能怎么样?

      1. 之所以用协程是因为性能高?
        1. 不是协程高,是异步高
      2. 协程比epoll要快?
        1. 两者没有比较的角度。
        2. 管理IO情况: 协程 < reactor/epoll
        3. 从io 管理的角度去看,协程也是使用了epoll 实现的。
      3. 协程轻量级线程?
    17. 泛泛之谈

      1. 并发量: fd的数量和协程的数量是一致的。
      2. 每秒的接入量, 每次申请fd 之后,coroutine create。
      3. 断开连接后, coroutine_destroy
      4. 发送文件数量、读写文件书数量,本质也是io的使用
        1. 涉及网络时,一定要先用iperf测一下网络的带宽
      5. 百万并发代码: mul_port_client.c
    18. 多核的问题:

      1. 能做cpu粘合的 只有进程和线程
      2. 协程想做怎么办? 只能借助 多进程,多线程。
        1. 每一个线程一个调度器 特点:简单,不需要加锁
        2. 多个线程公用一个调度器 ; 对与 调度器,入队时候需要加锁。
        3. 每一个进程一个调度器; 简单,
      3. setjmp/longjmp 能否实现多个线程跳转?解答:(12条消息) Setjmp的支持多线程问题_anghlq的博客-CSDN博客

    服务器高级架构体系:https://ke.qq.com/course/417774?flowToken=1010783

  • 相关阅读:
    面试常问:数组拍平(扁平化)实现
    R语言survival包的survfit函数拟合生存曲线数据、survminer包的ggcompetingrisks函数可视化竞争风险累积事件曲线
    Spring MVC 高级框架的核心
    无涯教程-JavaScript - SUMIFS函数
    arm day 8
    组合总和--纯垃圾内容别看,浪费时间
    RedisKey的基本命令
    【QT学习】8.qt事件处理机制,事件过滤器,自定义事件
    【节能学院】浅谈中低压母线装设弧光保护的必要性
    排序算法:希尔排序
  • 原文地址:https://blog.csdn.net/qq_29111047/article/details/127042307
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号