SF
Golang源码全解析
Golang源码全解析
注册登录
关注博客
注册登录
主页
关于
RSS
Golang 中 defer Close() 的潜在风险
机器铃砍菜刀
2021-11-22
阅读 4 分钟
2.6k
作为一名 Gopher,我们很容易形成一个编程惯例:每当有一个实现了 io.Closer 接口的对象 x 时,在得到对象并检查错误之后,会立即使用 defer x.Close() 以保证函数返回时 x 对象的关闭 。以下给出两个惯用写法例子。
详解 Go 中 WaitGroup 设计
机器铃砍菜刀
2021-09-08
阅读 8 分钟
3.9k
Go语言提供的协程goroutine可以让我们很容易地写出多线程程序,但是,如何让这些并发执行的goroutine得到有效地控制,这是我们需要探讨的问题。正如小菜刀在《Golang并发控制简述》中所述,Go标准库为我们提供的同步原语中,锁与原子操作注重控制goroutine之间的数据安全,WaitGroup、channel与Context控制的是它们的并...