代码拉取完成,页面将自动刷新
同步操作将从 ppmoon/pool 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
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)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。