IT书架 本次搜索耗时 0.019 秒,为您找到 746 个相关结果.
  • 33.go 的锁是可重入的吗?

    291 2024-01-16 《Golang面试题》
    go 的锁是可重入的吗? go 的锁是可重入的吗? **题目来源:**网易 答案1: 不是可重入锁。 讨论这个问题前,先解释一下“重入”这个概念。当一个线程获取到锁时,如果没有其他线程拥有这个锁,那么这个线程就会成功获取到这个锁。线程持有这个锁后,其他线程再请求这个锁,其他线程就会进入阻塞等待的状态。但是如果拥有这个锁的线程再请求这...
  • 338.介绍go语言的gmp协程调度模

    143 2024-01-22 《Golang面试题》
    介绍go语言的gmp协程调度模 介绍go语言的gmp协程调度模 答案: G-M-P分别代表: G: Goroutine,Go协程,是参与调度与执行的最小单位 M: Machine,指的是系统级线程 P: Processor,指的是逻辑处理器,P关联了的本地可运行G的队列(也称为LRQ),最多可存放256个G。 GMP调度流程大致如下: 线...
  • 560.Go 如何查看GC信息?

    142 2024-01-25 《Golang面试题》
    Go 如何查看GC信息? 1. GODEBUG=‘gctrace=1’ 2. go tool trace 3. debug.ReadGCStats 4. runtime.ReadMemStats Go 如何查看GC信息? 1. GODEBUG=‘gctrace=1’ package main func main () { f...
  • 469.Golang Map 底层实现

    143 2024-01-24 《Golang面试题》
    Golang Map 底层实现 Golang Map 底层实现 参考解析 Golang 中 map 的底层实现是一个散列表,因此实现 map 的过程实际上就是实现 散表的过程。在这个散列表中,主要出现的结构体有两个,一个叫 hmap(a header for a go map),一个叫 bmap(a bucket for a Go map,通常叫...
  • 20.2个协程交替打印字母和数字

    283 2024-01-16 《Golang面试题》
    2个协程交替打印字母和数字 2个协程交替打印字母和数字 答案1: package main import ( "fmt" ) func main () { limit := 26 numChan := make ( chan int , 1 ) ch...
  • 3.Go 调度原理?

    3.Go 调度原理? 设计思想 调度对象 被调度对象 调度流程 调度时机 调度策略 3.Go 调度原理? goroutine调度的本质就是将 Goroutine (G) 按照一定算法放到CPU上去执行。 CPU感知不到Goroutine,只知道内核线程,所以需要Go调度器 将协程调度到内核线程上面去,然后操作系统调度器 将内核线程放到C...
  • 28.go 的优势

    322 2024-01-16 《Golang面试题》
    go 的优势 go 的优势 题目来源 :字节 、映客 (1)与其他作为学术实验开始的语言不同,Go 代码的设计是务实的。每个功能和语法决策都旨在让程序员的生活更轻松。(2)Golang针对并发进行了优化,并且在规模上运行良好。(3)由于单一的标准代码格式,Golang 通常被认为比其他语言更具可读性。(4)自动垃圾收集明显比 Java 或 P...
  • 380.go中的指针强转

    144 2024-01-23 《Golang面试题》
    go中的指针强转 go中的指针强转 题目来源: 腾讯 答案: 在 golang 中无法使用指针类型对指针进行强制转换 但可以借助 unsafe 包中的 unsafe.Pointer 转换 在 src/unsafe.go 中可以看到指针类型说明 // ArbitraryType 与 IntegerType 在此只用于文档描...
  • 326.协程怎么停顿?

    118 2024-01-22 《Golang面试题》
    协程怎么停顿? 协程怎么停顿? 题目来源:shopee 1.使用for-range for-range从channel上接收值,直到channel关闭,该结构在Go并发编程中很常用,这对于从单一通道上获取数据去执行某些任务是十分方便的 2.使用for-select(向退出通道发出退出信号) 当channel比较多时,for-rang...
  • 3.Go channel有无缓冲的区别?

    3.Go channel有无缓冲的区别? 3.Go channel有无缓冲的区别? 无缓冲:一个送信人去你家送信,你不在家他不走,你一定要接下信,他才会走。 有缓冲:一个送信人去你家送信,扔到你家的信箱转身就走,除非你的信箱满了,他必须等信箱有多余空间才会走。 无缓冲 有缓冲 创建方式 make(chan TYPE) m...