1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ppmoon-pool

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
pool_test.go 795
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
ppmoon Отправлено 11.07.2018 10:47 5949789
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)
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/ppmoon-pool.git
git@api.gitlife.ru:oschina-mirror/ppmoon-pool.git
oschina-mirror
ppmoon-pool
ppmoon-pool
master