使用go关键字可以为一个函数创建goroutine,相当于其它编程语言的多协程操作。
https://github.com/uber-go/goleak是一个检测goroutine泄漏的工具,首先我们看下如何使用,然后分析下源码实现,看看它的具体原理。起一个groutine泄漏的例子。
在Go语言中,锁用于同步访问共享资源。Go语言提供了两种类型的锁:互斥锁(mutex)和读写锁(RWMutex)。
在Go语言中,channel是一种用于在goroutine之间传递数据的通信机制。它可以让一个或多个goroutine等待另一个goroutine发送消息,也可以让一个goroutine等待多个goroutine的响应。...
一个 sync.WaitGroup 对象可以等待一组协程结束。它很好地解决了 goroutine 同步的问题。
随着计算机硬件的发展,多核处理器已经成为主流。并发编程成为了提高程序性能的重要手段。Go语言作为一门支持并发编程的现代编程语言,引入了两个关键概念:goroutine和channel。本文将详细介绍goroutine和channel的原理、...
调度器schedule和goroutine的生命周期其实在整个go程序中有着极其重要的地位,几乎贯穿go程序的一生,在Go调度系列(二)中,我们把Go调度器的运转原理理了一遍,知道调度器是如何进行调度。那么 goroutine 是怎么诞生然后被调...
循环迭代器变量是一个在每次循环迭代中采用不同值的单个变量。如果我们一直使用一个变量,可能会导致不可预知的行为。
libcopp很早就实现完成了v2版本,现在迁移进atsf4g-co/tree/sample_solution以后也把v2分支正式并入了主干。原来的版本切出到v1分支并且停止维护了。
goroutine 是轻量级线程,goroutine 的调度是由 Golang 运行时进行管理的。