加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
pool_test.go 795 Bytes
一键复制 编辑 原始数据 按行查看 历史
ppmoon 提交于 2018-07-11 15:47 . readme更新
package pool_test
import (
"testing"
"pool"
"fmt"
"time"
)
//这里使用了一个很笨的办法期望通过时间来观察goroutine开启的情况
func TestNewPool(t *testing.T) {
w := pool.NewTask(func() error { fmt.Println(time.Now());return nil })
//tasks := []*pool.Worker{}
//for i:=0;i<10 ;i++ {
// tasks = append(tasks,w)
//}
//p := pool.NewPool(tasks,3)
p := pool.NewPool(3)
//这里启用另外一个goroutine向worker当中写入,不然会出现all goroutines are asleep,需要从管道中获得一个数据,而这个数据必须是其他goroutine线放入管道的
go func() {
for {
p.Worker <- w
}
}()
p.Run()
}
func TestSe(t *testing.T) {
a := make(chan int)
var i int
go func() {
for {
i++
a <- i
}
}()
for {
fmt.Println(<-a)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化