IT书架 本次搜索耗时 0.091 秒,为您找到 752 个相关结果.
  • 4.Go channel为什么是线程安全的?

    4.Go channel为什么是线程安全的? 为什么设计成线程安全? 如何实现线程安全的? 4.Go channel为什么是线程安全的? 为什么设计成线程安全? 不同协程通过channel进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全 如何实现线程安全的? channel的底层实现中,hchan结构体中采用M...
  • 14.grpc的四种数据流

    proto 服务端 客户端 之前我们讲了 grpc 怎么简单的使用 ,这次讲讲 grpc 中的 stream,stream 顾名思义 就是 一种 流,可以源源不断的 推送 数据,很适合 传输一些大数据,或者 服务端 和 客户端 长时间 数据交互,比如 客户端 可以向 服务端 订阅 一个数据,服务端 就 可以利用 stream ,源源不断地 推送数据。...
  • 506.GC 如何调优

    GC 如何调优 GC 如何调优 通过 go tool pprof 和 go tool trace 等工具 控制内存分配的速度,限制 Goroutine 的数量,从而提高赋值器对 CPU 的利用率。 减少并复用内存,例如使用 sync.Pool 来复用需要频繁创建临时对象,例 如提前分配足够的内存来降低多余的拷贝。 需要时,增大 GOGC 的值,...
  • 12. 业务架构:如何设计、开发简洁架构?

    4 层架构开发 Model 层代码开发 Store 层代码开发 Biz 层代码开发 Controller 层代码开发 编译、启动、测试 小结 提示:本节课最终代码为:feature/s17 。 开发完基础功能之后,就需要开发业务逻辑相关的代码了。因为相比于基础功能,业务逻辑代码占了整个代码仓库代码量的绝大部分,并且业务代码也更加复杂。...
  • 分布式理论基础、分布式事务解决方案

    1.事务和分布式事务 2.程序出哪些问题会导致数据不一致 3.CAP和BASE理论 4.两/三阶段提交 5.tcc分布式事务 6.基于本地消息表的最终一致性 7.基于可靠消息的最终一致性-最常用 8.最大努力通知 9.mq(message queue)的使用场景 10.mq技术选型 11.rocketmq安装和配置 12.rocketm...
  • 8.优雅重启或停止

    package main import ( "context" "log" "net/http" "os" "os/signal" "syscall" "time" "github.com/gin-gonic/gin" ) ...
  • 194.了解过channel吗?

    了解过channel吗? 了解过channel吗? 题目来源: 答案: Go语言借鉴CSP(CommunicatingSequential Process,通信顺序进程)模型,大大简化了并发程序编程难度。 channel分为无缓冲channel,有缓冲channel。
  • 解释器模式

    解释器模式 9.1 模式动机 9.2 Go语言实现 interpreter.go interpreter_test.go 解释器模式 9.1 模式动机 解释器模式定义一套语言文法,并设计该语言解释器,使用户能使用特定文法控制解释器行为。 解释器模式的意义在于,它分离多种复杂功能的实现,每个功能只需关注自身的解释。 对于调用者不用关心内...
  • 457.Go 语言当中 new的作用是什么?

    Go 语言当中 new的作用是什么? Go 语言当中 new的作用是什么? 参考解析 new创建一个该类型的实例,并且返回指向该实例的指针。new函数是内建函数,函数定义: func new ( Type ) * Type 使用new函数来分配空间 传递给new函数的是一个类型,而不是一个值 返回值是指向这个新分配的地址的指针
  • 130.go结构体和结构体指针的区别

    go结构体和结构体指针的区别 go结构体和结构体指针的区别 参考解析 题目序号:224 题目来源: 映客 频次: 1 答案1: 结构体 指针方法 值方法 type struct_variable_type struct { member definition member definition ...