最新 最热

goroutine

使用go关键字可以为一个函数创建goroutine,相当于其它编程语言的多协程操作。

2023-09-13
1

golang源码分析:uber-go/goleak检查goroutine泄漏原理

https://github.com/uber-go/goleak是一个检测goroutine泄漏的工具,首先我们看下如何使用,然后分析下源码实现,看看它的具体原理。起一个groutine泄漏的例子。

2023-09-06
1

golang的锁

在Go语言中,锁用于同步访问共享资源。Go语言提供了两种类型的锁:互斥锁(mutex)和读写锁(RWMutex)。

2023-08-21
1

golang channel

在Go语言中,channel是一种用于在goroutine之间传递数据的通信机制。它可以让一个或多个goroutine等待另一个goroutine发送消息,也可以让一个goroutine等待多个goroutine的响应。...

2023-08-21
1

Go中sync.WaitGroup处理协程同步

一个 sync.WaitGroup 对象可以等待一组协程结束。它很好地解决了 goroutine 同步的问题。

2023-08-11
1

Go语言的并发编程:goroutine和channel详解

随着计算机硬件的发展,多核处理器已经成为主流。并发编程成为了提高程序性能的重要手段。Go语言作为一门支持并发编程的现代编程语言,引入了两个关键概念:goroutine和channel。本文将详细介绍goroutine和channel的原理、...

2023-07-12
1

Go调度系列--goroutine和调度器生命周期(三)

调度器schedule和goroutine的生命周期其实在整个go程序中有着极其重要的地位,几乎贯穿go程序的一生,在Go调度系列(二)中,我们把Go调度器的运转原理理了一遍,知道调度器是如何进行调度。那么 goroutine 是怎么诞生然后被调...

2023-03-24
1

我在使用 Go 过程中犯过的低级错误

循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。

2023-03-18
1

协程框架(libcopp)v2优化、自适应栈池和同类库的Benchmark对比

libcopp很早就实现完成了v2版本,现在迁移进atsf4g-co/tree/sample_solution以后也把v2分支正式并入了主干。原来的版本切出到v1分支并且停止维护了。

2023-03-17
2

开心档之Go 并发

goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。

2023-03-15
1