gchan (优雅的chan操作)

gchan

优雅的Channel操作。原生的channel操作在channel关闭后再向channel发送数据,或者多次关闭channel会引发panic,gchan模块使得channel的操作变得优雅。

使用场景 :

所有使用chan的场景都可使用gchan替代。

使用方式 :

import "github.com/gogf/gf/g/container/gchan"

接口文档 :

https://godoc.org/github.com/gogf/gf/g/container/gchan

gchan与原生channel的性能测试:

john@johnstation:~/Workspace/Go/GOPATH/src/github.com/gogf/gf/g/container/gchan$ go test *.go -bench=".*"
goos: linux
goarch: amd64
BenchmarkGchanPushAndPop-8        20000000            71.9 ns/op
BenchmarkChannelPushAndPop-8       50000000            39.3 ns/op
PASS
ok      command-line-arguments    3.663s