第 12 页 - golang
0
评论
112
浏览

defer 的执行顺序

题目序号:(5362)题目来源:七牛频次:1答案1:(自由)在同一个函数中,defer 函数调用的执行顺序与它们分别所属的 defer 语句的出现顺序完全...

0
评论
112
浏览

服务器能开多少个M由什么决定

题目序号:487题目来源:跟谁学答案1:(Evan.C)由于M必须持有一个P才可以运行Go代码,所以同时运行的M个数,也即线程数一般等同于CPU的个数,以...

0
评论
116
浏览

服务器能开多少个P由什么决定

题目序号:487题目来源:跟谁学答案1:(Evan.C)P的个数在程序启动时决定,默认情况下等同于CPU的核数程序中可以使用 runtime.GOMAXP...

0
评论
210
浏览

M和P是怎么样的关系

题目序号:487题目来源:跟谁学答案1:(Evan.C)M必须拥有P才可以执行G中的代码,理想情况下一个M对应一个P,P含有包含多个G的队列,P会周期性地...

0
评论
127
浏览

同时启动了一万个G,如何调度?

题目序号:487题目来源:跟谁学答案1:(Evan.C)首先一万个G会按照P的设定个数,尽量平均地分配到每个P的本地队列中。如果所有本地队列都满了,那么剩...

0
评论
121
浏览

go的init函数是什么时候执行的?

题目序号: 822题目来源:高德 频次:1答案1:(peace)init函数的主要作用:1)初始化不能采用初始化表达式初始化的变量。2)程序运行前的注册...

0
评论
135
浏览

多个init函数执行顺序能保证吗?

题目序号:823题目来源:高德 频次:1答案1:(peace)go中不同包中init函数的执行顺序是根据包的导入关系决定的。嵌套最深的包内的init函数...

0
评论
116
浏览

gin框架的路由是怎么处理的?

题目序号:(274、824)题目来源:高德 频次:2答案1:(peace)Gin框架中的路由使用的是httprouter这个库。使用了类似前缀树的数据结构...

0
评论
120
浏览

用火焰图的优势?

题目序号:825题目来源:高德 频次:1答案1:(peace)火焰图(FlameGraph)是 svg 格式的矢量图,是先通过 perf 等工具分析得到...

0
评论
143
浏览

struct的传递场景

题目序号:253题目来源:映客 频次:1答案1:(趁醉独饮痛)struct的特点用来自定义复杂数据结构struct里面可以包含多个字段(属性)struc...

0
评论
115
浏览

runtime提供常见的方法

题目序号:261题目来源: 频次:1答案1:(趁醉独饮痛)Gosched():让当前线程让出 cpu 以让其它线程运行,它不会挂起当前线程,因此当前线程...

0
评论
115
浏览

go的profile工具

题目序号:265题目来源:频次:1答案1:(趁醉独饮痛)官方文章profile就是定时采样,收集cpu,内存等信息,进而给出性能优化指导。Go 存使用采样...

0
评论
159
浏览

怎么检查go问题

题目序号:935题目来源:好未来频次:1答案1:(趁醉独饮痛)golangci-lint:golangci-lint 是一个集成工具,它集成了很多静态代码...

0
评论
111
浏览

context包内部如何实现的?

题目序号:935题目来源:好未来频次:1答案1:(趁醉独饮痛)+context是 Go 语言在 1.7 版本中引入标准库的接口。context主要用于父子...

0
评论
125
浏览

syncpool的实现原理

题目序号:361题目来源:频次:1答案1:(趁醉独饮痛)Pool是什么:Go标准库中提供的一个通用的Pool数据结构,可以使用它创建池化的对象。sync....

0
评论
137
浏览

Golang Map 如何扩容

双倍扩容:扩容采取了一种称为“渐进式”的方式,原有的 key 并不会一 次性搬迁完毕,每次最多只会搬迁 2 个 bucket。等量扩容:重新排列,极端情况...