当前位置: 首页 > news >正文

【Golang 面试题】每日 3 题(六十一)

✍个人博客:Pandaconda-CSDN博客
📣专栏地址:http://t.csdnimg.cn/UWz06
📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~
❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪

181. GMP 调度过程中存在哪些阻塞?

在 GMP(GNU 多精度算术库)调度过程中,可能会存在以下几种阻塞情况:

  1. IO 阻塞:当 GMP 库进行 IO 操作时,如果 IO 操作需要等待数据读取或写入,此时 GMP 库的调度可能会被阻塞。
  2. 系统调用阻塞:当 GMP 库使用系统调用时,如申请内存、获取时间等,如果系统调用需要等待结果返回,此时 GMP 库的调度可能会被阻塞。
  3. 锁竞争阻塞:当多个线程同时访问 GMP 库的同一个数据结构时,可能会出现锁竞争的情况,如果某个线程获得锁并持有锁的时间过长,其他线程的调度可能会被阻塞。
  4. 垃圾回收阻塞:在 GMP 库中,存在一种称为 “垃圾回收” 的机制,用于释放不再使用的内存。当垃圾回收机制启动时,所有线程的调度都会被暂停,直到垃圾回收完成。

总之,GMP 调度过程中的阻塞情况可能会导致程序执行时间延长,因此在编写 GMP 应用程序时需要考虑如何避免或减少阻塞情况的发生。

182. Sysmon 有什么作用?

Sysmon 也叫监控线程,变动的周期性检查,好处:

  • 释放闲置超过 5 分钟的 span 物理内存;
  • 如果超过 2 分钟没有垃圾回收,强制执行;
  • 将长时间未处理的 netpoll 添加到全局队列;
  • 30 向长时间运行的 G 任务发出抢占调度(超过 10ms 的 g,会进行 retake);
  • 收回因 syscall 长时间阻塞的 P;

183. 三色标记原理

三色标记算法(Tri-color Mark and Sweep Algorithm)是垃圾回收算法中常用的一种,也是 Go 语言中垃圾回收器采用的算法之一。

三色标记算法的基本思路是将内存中的对象分为三种状态:白色(未访问)、灰色(已访问,但还未处理)、黑色(已访问,且已处理),并按照一定的顺序遍历所有对象,标记出所有可达的对象,最终清除不可达的对象。

在这里插入图片描述

相关文章:

  • 前后端分离的Netty + WebSocket实现聊天室
  • 【Linux】多线程 -> 线程同步与基于BlockingQueue的生产者消费者模型
  • 【C++第二十章】红黑树
  • python-leetcode 38.翻转二叉树
  • 自然语言处理NLP 03案例——提取小说红楼梦各卷关键词TOP10
  • 快速入门——Vue框架快速上手
  • Debezium 与 Apache Kafka 的集成方式
  • 【ARM】MDK在编译 i.MXRT1芯片的时候出现报错Error: L6079E
  • Qt 中的QMainWindow、QWidget 和 QDialog 基类
  • SeaTunnel社区「Demo方舟计划」首期活动上线—— MySQL CDC实时同步至PostgreSQL实战
  • 企业金融数字场景平台:架构设计、实践与未来趋势
  • AI赋能Web3.0前端开发:效率革命与ScriptEcho的实践
  • 沃丰科技大模型标杆案例|周大福集团统一大模型智能服务中心建设实践
  • 统计函数运行时间的python脚本
  • Java中堆和栈
  • Linux系统--echo命令的使用说明
  • 【数据分析】3 数据分析成长之路
  • 目前可免费使用【满血+可联网】deepseek的网站
  • MIMO系统信道容量(开环与闭环)
  • 解锁健康密码,开启养生之旅
  • 王毅会见俄罗斯外长拉夫罗夫
  • 早睡1小时,变化有多惊人?第一个就没想到
  • 世联行:2024年营业收入下降27%,核心目标为“全面消除亏损公司和亏损项目”
  • 东北财大“一把手”调整:方红星任校党委书记,汪旭晖任校长
  • 我国首次发布铁线礁、牛轭礁珊瑚礁“体检”报告,菲炮制言论毫无科学和事实依据
  • 韩国检方重启调查金建希操纵股价案