IT书架 本次搜索耗时 0.071 秒,为您找到 752 个相关结果.
  • 577.goroutine 实际访问的资源 如何做限流

    goroutine 实际访问的资源 如何做限流 1. 使用通道(Channel) 2. 使用令牌桶算法 3. 使用限流库 4. 使用sync.WaitGroup goroutine 实际访问的资源 如何做限流 在Go语言中,进行限流可以通过多种方式来控制Goroutine对资源的访问,确保资源的使用不会超过系统的承载能力。以下是几种...
  • 1.Go 常用的并发模型?

    1.Go 常用的并发模型? 线程间通信方式 共享内存 发送消息 共享内存并发模型 CSP并发模型 1.Go 常用的并发模型? 并发模型说的是系统中的线程如何协作完成并发任务,不同的并发模型,线程以不同的方式进行通信 和协作。 线程间通信方式 线程间通信方式有两种:共享内存和消息传递,无论是哪种通信模型,线程或者协程最终都会从内存中...
  • 1、为什么要学这个课

    用Go语言打造支持同时10万人在线的IM系统 一、为什么要学这个课 二、这个课能学到什么 1、IM基础功能 2、如何实现并发及性能调优 3、分布式部署 三、IM聊天功能总结 四、整个应用功能展示 五、整个应用所使用的技术栈 1、前端技术 2、后端技术 3、系统构架 六、课程安排 七、学习建议 1、关于后端 2、关于前端 2、关于学...
  • 166.golang 性能问题怎么排查

    golang 性能问题怎么排查 答案: golang 性能问题怎么排查 题目来源:腾讯 答案: 线上性能问题的定位和优化是程序员进阶的必经之路,定位问题的方式有多种多样,常见的有观察线程栈、排查日志和做性能分析。性能分析(profile)作为定位性能问题的大杀器,它可以收集程序执行过程中的具体事件,并且对程序进行抽样统计,从而能更精准的...
  • 53.Go语言Slice是否线程安全

    Go语言Slice是否线程安全 Go语言Slice是否线程安全 题目来源 :字节 答案: Go语言实现线程安全常用的几种方式: 1.互斥锁; 2.读写锁; 3.原子操作; 4.sync.once; 5.sync.atomic; 6.channel slice底层结构并没有使用加锁等方式,不支持并发读写,所以并不是线程安全的,使用...
  • 70.go的init函数是什么时候执行的?

    go的init函数是什么时候执行的? go的init函数是什么时候执行的? 题目来源 :高德 答案1: init函数的主要作用:1)初始化不能采用初始化表达式初始化的变量。2)程序运行前的注册。3)实现sync.Once功能。4)其他 init函数的主要特点:1)init函数先于main函数自动执行,不能被其他函数调用;2)init...
  • 305.用go写rpc框架的具体功能细节

    用go写rpc框架的具体功能细节 用go写rpc框架的具体功能细节 题目来源: 跟谁学 答案: 注册中心是单机还是分布式的,其中一个挂了怎么办? 分布式集群。 在集群中,所有节点既是服务提供者同时也是服务消费者。注册中心将自己作为服务向其他注册中心注册自己,从而形成一组互相注册的服务注册中心,因此能够实现服务清单的互相同步,达到服务...
  • 538.Go 互斥锁允许自旋的条件?

    Go 互斥锁允许自旋的条件? Go 互斥锁允许自旋的条件? 参考解析 线程没有获取到锁时常见有2种处理方式: - 一种是没有获取到锁的线程就一直循环等待判断该资源是否已经释放锁,这种锁也叫做自旋锁 ,它不用将线程阻塞起来, 适用于并发低且程序执行时间短的场景,缺点是cpu占用较高- 另外一种处理方式就是把自己阻塞起来,会释放CPU给其他...
  • 8.阿里云oss开发入门

    1. 项目文档 2. 项目地址 3. 入门 1. 项目文档 阿里云官方文档 2. 项目地址 aliyun-oss-go-sdk项目地址 3. 入门 a. 配置apikey和secrect 使用子账户b. oss跨域 package main import ( "fmt" "github...
  • 340.go的值传递和引用传递

    go的值传递和引用传递 go的值传递和引用传递 题目来源:知乎 **答案:** 值传递只会把参数的值复制⼀份放进对应的函数,两个变量的地址不同,不可相互修改。 地址传递(引⽤传递)会将变量本身传⼊对应的函数,在函数中可以对该变量进⾏值内容的修改。 golang默认都是采用值传递,即拷贝传递,有些值天生就是指针(slice、map、chan...