IT书架 本次搜索耗时 0.020 秒,为您找到 746 个相关结果.
  • 5.grpc验证器

    1. 安装和配置 linux macos windows 2. proto 3. 服务端 4. 客户端 protoc-gen_validate 1. 安装和配置 linux # fetches this repo into $GOPATH go get - d github . com / envoyproxy /...
  • 577.goroutine 实际访问的资源 如何做限流

    3 2024-07-24 《Golang面试题》
    goroutine 实际访问的资源 如何做限流 1. 使用通道(Channel) 2. 使用令牌桶算法 3. 使用限流库 4. 使用sync.WaitGroup goroutine 实际访问的资源 如何做限流 在Go语言中,进行限流可以通过多种方式来控制Goroutine对资源的访问,确保资源的使用不会超过系统的承载能力。以下是几种...
  • 201.介绍下go的chan,chan可以做什么

    159 2024-01-18 《Golang面试题》
    介绍下go的chan,chan可以做什么 介绍下go的chan,chan可以做什么 题目来源: 字节跳动 答案: 1.如果说goroutine 是Go语言的并发体的话,那么chan就是它们之间的通信机制,一个channel是一个通信系统,它可以让一个goroutine通过它给另一个goroutine发送值消息,每个channel都有一...
  • 549.Go GMP和GM模型?

    174 2024-01-25 《Golang面试题》
    Go GMP和GM模型? GMP模型 GM模型 Go GMP和GM模型? 参考解析 什么才是一个好的调度器? 能在适当的时机将合适的协程分配到合适的位置,保证公平和效率。 Go采用了GMP模型(对两级线程模型的改进实现),使它能够更加灵活地进行线程之间的调度。 GMP模型 GMP是Go运行时调度层面的实现,包含4个重要结构,分别是G...
  • 453.Go 语言当中 Channel(通道)有什么特点,需要注意什么?

    134 2024-01-23 《Golang面试题》
    Go 语言当中 Channel(通道)有什么特点,需要注意什么? Go 语言当中 Channel(通道)有什么特点,需要注意什么? 参考解析 如果给一个 nil 的 channel 发送数据,会造成永远阻塞。 如果从一个 nil 的 channel 中接收数据,也会造成永久阻塞。 给一个已经关闭的 channel 发送数据, 会引起 panic...
  • 420.Go 的面向对象特性

    141 2024-01-23 《Golang面试题》
    Go 的面向对象特性 Go 的面向对象特性 参考解析 题目来源:腾讯 答案: 和其他高级语言一样,golang 也支持面向对象编程,支持得比较简单,比如继承,封装,多态 接口 接口使用 interface 关键字声明,任何实现接口定义方法的类都可以实例化该接口,接口和实现类之间没有任何依赖,你可以实现一个新的类当做 Sayer...
  • 5.Go GC如何调优?

    5.Go GC如何调优? 5.Go GC如何调优? 控制内存分配的速度,限制 Goroutine 的数量,提高赋值器 mutator 的 CPU 利用率(降低GC的CPU利用率) 少量使用+连接string slice提前分配足够的内存来降低扩容带来的拷贝 避免map key对象过多,导致扫描时间增加 变量复用,减少对象分配,例如使用 sync.P...
  • 1.Go 内存分配机制?

    1.Go 内存分配机制? 设计思想 分配组件 内存管理单元:mspan 线程缓存:mcache 中心缓存:mcentral 页堆:mheap 分配对象 分配流程 1.Go 内存分配机制? Go语言内置运行时(就是runtime),抛弃了传统的内存分配方式,改为自主管理。这样可以自主地实现更好的内存使用模式,比如内存池、预分配等等。这样...
  • 233.go实现协程池

    139 2024-01-18 《Golang面试题》
    go实现协程池 答案1: 答案2: go实现协程池 参考解析 **题目来源:**小米 答案1: Golang协程池是一种用于管理和优化并发性能的数据结构,通过限制同时运行的goroutine数量来防止资源耗尽。其基本实现思路包括使用channel作为任务队列,以及固定数量的工作协程处理任务。 具体实现步骤如下: 定义...
  • 225.goroutine调度源码

    149 2024-01-18 《Golang面试题》
    goroutine调度源码 答案: goroutine调度源码 参考解析 题目来源: 陌陌 答案: G、P、M 是 Go 调度器的三个核心组件,各司其职。在它们精密地配合下,Go 调度器得以高效运转,这也是Go天然支持高并发的内在动力。今天这篇文章我们来深入理解 GPM 模型。 先看 G,取 goroutine 的首字母,主...