网站首页 站内搜索

搜索结果

查询Tags标签: goroutine,共有 90条记录
  • golang面试经验2

    1、make 和 new 的区别? 宝典导航 2、了解过golang的内存管理吗?宝典导航 3、调用函数传入结构体时,应该传值还是指针?说出你的理由?宝典导航 4、线程有几种模型?宝典导航 5、Goroutine 的原理了解过吗,讲一下实现和优势? 宝典导航 6、Goroutine 什么时候会发生阻…

    2022/9/4 23:22:56 人评论 次浏览
  • 学习 Go,一段旅程:标准库包和并发 #5

    学习 Go,一段旅程:标准库包和并发 #5 大家好!很高兴再次见到你,我希望你做得很好。在本文中,我想分享我在学习 Go 编程语言方面的进展。本周,我了解了标准库包和并发。标准库包 我们已经了解了基本的 Go 编程语言,现在我们将学习如何将我们的代码集成到标准库包中,…

    2022/9/4 6:54:03 人评论 次浏览
  • channel定义与使用

    channel定义与使用package mainimport "fmt"func main() {//定义一个channelc := make(chan int)go func() {defer fmt.Println("goroutine结束")fmt.Println("goroutine 正在运行...")c <- 666 //将666 发送给c}()num := <-c //从c中…

    2022/8/30 23:23:00 人评论 次浏览
  • go mutex源码分析

    使用Mutex 互斥锁Mutex提供了两个函数Lock和Unlock。 func(m *Mutex) Lock() func(m *Mutex) Unlock() 源码分析 Mutex实现演变过程初版 // 互斥锁的结构,包含两个字段 type Mutex struct { key int32 // 锁是否被持有的标识 sema int32 // 信号量专用,用以阻塞/唤醒g…

    2022/7/23 14:22:44 人评论 次浏览
  • go并发编程

    go 并发编程之协程 一个goroutine会以一个很小的栈开始其生命周期,一般只需要2KB。区别于操作系统线程由系统内核进行调度, goroutine 是由Go运行时(runtime)负责调度。Goroutine 是 Go 程序中最基本的并发执行单元。每一个 Go 程序都至少包含一个 goroutine——main …

    2022/7/1 14:24:40 人评论 次浏览
  • golang 并发编程

    一、goroutine GMP 模型: M:machine。一个M对应一个内核级线程,相当于内核级线程在go中的映射,执行代码的线程(CPU)P:processor 一个P代表执行go代码所需要的上下文环境,Processer 调度,上下文的切换,内存申请G:goroutine,是一个代码片段,相当于用户级线程,例…

    2022/6/8 1:21:18 人评论 次浏览
  • golang goroutine 父子关系

    很多人认为 父 goroutine 结束后 子goroutine 一定会结束 结论只要main 不结束 goroutine 一定会运行 代码验证 package mainimport ("fmt""time" )func main() {fmt.Println("main start")go func() {fmt.Println("parent start&quo…

    2022/4/29 23:18:50 人评论 次浏览
  • 通过消息重排自动检测 Go 程序中的并发缺陷

    背景 Go 是由 Google 发明的工业级编程语言,当时Google设计Go的目的是编写安全高效的并发程序。最近几年来,Go 快速普及,已经成为世界上最受开发者喜爱的编程语言之一。开发者们用 Go 编写了很多工业界的基础架构软件,比如 Docker,Kubernetes,和 gRPC等。 为了更加方…

    2022/4/25 22:16:09 人评论 次浏览
  • 两种全表扫描的思路

    日常的工作中,可能需要对分片表进行全表扫描,这里介绍两种并发全表扫描的方法: 思路1:分片分页读取+并发请求 两个for循环,外层for循环遍历每个分片,内层for循环并发处理这些数据。整个处理过程可分为数据获取和并发请求两部分,两部分串行执行,先获取数据,再并发处…

    2022/4/13 6:16:53 人评论 次浏览
  • goroutine和chan

    package mainimport ("errors""fmt""reflect""sync""syscall""unsafe" )var wg sync.WaitGroup var once sync.Oncetype Str struct {num intpid int } type hchan struct {qcount uint // tota…

    2022/3/9 6:14:55 人评论 次浏览
  • 009-Golang1.17源码分析之goroutine

    Golang1.17源码分析之goroutine-009Golang1.17 学习笔记009包位置:runtime/runtime2.go 全局变量 g0 主协程、m0 工作线程 P 里面只是有个本地 runq,全局的 runq 存储在 sched 中 获取任务顺序,先从 m 自身 p 中的 runq 获取,没有就去全局 sched 中获取,没有再去其他…

    2022/2/22 20:24:17 人评论 次浏览
  • 007-Golang1.17源码分析之mutex

    Golang1.17源码分析之mutex-007Golang1.17 学习笔记007源代码:sync/mutex.go 数据结构: const (// 锁标识位(state的最后一位) // Mutex.state & mutexLocked==1表示已经上锁;Mutex.state & mutexLocked==0表示已经未锁mutexLocked = 1 << iota // mutex…

    2022/2/21 20:57:45 人评论 次浏览
  • 由一个问题引发的 goroutine 相关源码的探究

    本文基于 Go 语言 1.13.x 版本进行分析在 Go 语言中文网微信群有人问了这么一个问题,如下代码:const N = 26func main() {const GOMAXPROCS = 1runtime.GOMAXPROCS(GOMAXPROCS)var wg sync.WaitGroupwg.Add(2 * N)for i := 0; i < N; i++ {go func(i int) {defer wg.…

    2022/2/18 14:11:46 人评论 次浏览
  • 别告诉我这是真的?goroutine 可能使程序变慢

    下面,我们将会展示一个关于 for 循环的代码,将输入分成几个序列添加到 Goroutines 里面!我敢打赌你之前可能有过几次这种情况,但是每次引入 gorountine 都让你的代码变得更快吗?下面是一个简单的循环示例,它似乎很容易变成并发代码,但正如我们将看到的,并发版本不…

    2022/2/18 14:11:39 人评论 次浏览
  • 3本书阅读笔记【人月神话-Go语言实战-研发能力持续成长路线】04

    研发能力持续成长路线图-向华为学习研发管理,助推企业持续发展 1004 - 产品中试管理产品测试工作基本流程 并行化,以缩短开发周期 概念阶段-计划阶段-开发阶段-验证阶段-发布阶段-声明周期阶段 熟悉产品需求规则,参加BBFV【制定测试方法与计划,制定详细测试方案,开发…

    2022/1/23 23:07:01 人评论 次浏览
共90记录«上一页1234...6下一页»
扫一扫关注最新编程教程