记使用WaitGroup时的一个错误最近重构服务器代码时,不当使用了WaitGroup,碰到了个错误,记录下.package mainimport (
"fmt"
"sync"
"time"
)func main() {
var wg sync.WaitGroup
wg.Add(1) f1 := func() {
time.Sleep(t...
分类:
其他好文 时间:
2015-06-12 06:32:19
阅读次数:
133
WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。 官方对它的说明如下: A WaitGroup waits for a collection of goroutines to finish. The main go...
分类:
其他好文 时间:
2015-05-29 11:39:28
阅读次数:
107
退出运行中的程序,可以粗暴的kill -9 $PID,但这样会破坏业务的完整性,有可能一个正在在执行的逻辑半途而费,从而产生不正常的垃圾数据。本文总结在go语言中,如何能优雅的退出网络应用,涉及的知识包括:signal,channel,WaitGroup等。从这里:https://gobyexamp...
分类:
其他好文 时间:
2015-03-31 17:47:25
阅读次数:
120
看过好几遍了,觉得挺实用的,记录备忘一下。1.开启很多个goroutine 之后,等待执行完毕type WaitGroupWrapper struct { sync.WaitGroup}func (w *WaitGroupWrapper) Wrap(cb func()) { w.Add(...
分类:
其他好文 时间:
2015-03-10 15:26:09
阅读次数:
172
前段在玩协程时跟着libtask的作者Russ Cox转到Golang了,一堆重量级大牛们想出来的东西就是不同,思路非常特别,和常用的差别有点大,
但非常注重实用,减少了一堆的语法糖后,让人重新思考,开发语言本来应当是怎么样?如果用来做服务端开发的话,真的是很不错的东西。
在一个练习中,我设计了个发送Oracle数据库备份任务的简单场景。通过 发送备份任务到各个客户端,来练习Go...
分类:
其他好文 时间:
2014-12-07 17:49:07
阅读次数:
269