IT书架 本次搜索耗时 0.764 秒,为您找到 752 个相关结果.
  • go开发区块链应用

    基于区块链的房地产交易系统 技术栈 区块链基础知识 Hyperledger Fabric 基础知识 搭建区块链网络 编写智能合约 部署链码 编写应用程序 基于区块链的房地产交易系统 好久不见,看了下,距离上次更文 1 个多月过去了,卷不动。 大概 2 年前,碰巧学习区块链(Hyperledger Fabric),便写了一个入门级的项目...
  • 552.Go hand off 机制?

    Go hand off 机制? Go hand off 机制? 参考解析 概念 也称为P分离机制,当本线程 M 因为 G 进行的系统调用阻塞时,线程释放绑定的 P,把 P 转移给其他空闲的 M 执行,也提高了线程利用率(避免站着茅坑不拉shi)。 分离流程 当前线程M阻塞时,释放P,给其它空闲的M处理
  • 128.go的profile工具

    go的profile工具 go的profile工具 题目来源:小米 答案1: pprof分为采样和分析两个阶段。 采样分为:堆内存采样,协程栈样本手机,CPU样本等。 采样结束后,所有pprof的样本数据最后都会以Protocol Buffers格式序列化数据并通过gzip压缩后写入文件。用户获取该文件后最终将使用go tool pp...
  • 76.go的profile工具

    go的profile工具 go的profile工具 题目来源: 答案1: 官方文章 profile就是定时采样,收集cpu,内存等信息,进而给出性能优化指导。 Go 存使用采样,有四个相应的指标: inuse_objects :当我们认为内存中的驻留对象过多时,就会关注该指标 inuse_space :当我们认为应用程序占据...
  • 352.go 如何关闭goroutine

    go 如何关闭goroutine go 如何关闭goroutine 题目来源:小米 答案: 关闭 channel 第一种方法,就是借助 channel 的 close 机制来完成对 goroutine 的精确控制。在 Go 语言的 channel 中,channel 接受数据有两种方法:msg := <-chmsg, ok := <-c...
  • 519.Go slice扩容机制?

    Go slice扩容机制? Go 1.18版本之前 Go 1.18版本切片扩容 Go slice扩容机制? Go 1.18版本之前 扩容会发生在slice append的时候,当slice的cap不足以容纳新元素,就会进行扩容,扩容规则如下 如果新申请容量比两倍原有容量大,那么扩容后容量大小 为 新申请容量 如果原有 slice 长度小于...
  • 444.go waitgroup 的坑

    go waitgroup 的坑 go waitgroup 的坑 参考解析 题目来源:欢聚集团 答案1: 1、waitGroup对象做值传递 如: func main (){ var swg sync . WaitGroup for i := 0 ; i < 3 ; i ++{ ...
  • 4. Go Cond实现原理?

    4. Go Cond实现原理? 概念 底层数据结构 使用方法 4. Go Cond实现原理? 概念 Go 标准库提供了Cond 原语,可以让 Goroutine 在满足特定条件时被阻塞和唤醒 底层数据结构 type Cond struct { noCopy noCopy // L is held...
  • 3.Go WaitGroup实现原理?

    3.Go WaitGroup实现原理? 概念 底层数据结构 使用方法 3.Go WaitGroup实现原理? 概念 Go 标准库提供了WaitGroup 原语, 可以用它来等待一批 Goroutine 结束 底层数据结构 // A WaitGroup must not be copied after first use. type...
  • 4.Go work stealing 机制?

    4.Go work stealing 机制? 概念 窃取流程 选择要窃取的P 从P中偷走一半G 4.Go work stealing 机制? 概念 当线程M⽆可运⾏的G时,尝试从其他M绑定的P偷取G,减少空转,提高了线程利用率(避免闲着不干活)。 当从本线程绑定 P 本地 队列、全局G队列、netpoller都找不到可执行的 g,会...