初级会员
  • 第 2713 位会员
  • greatit
  • ccuniverse@163.com
  • 2015-04-17 09:20:18
  • Offline
  • 0

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #1 @ckrissun 可以了,谢谢
  • #5 @greatit 可以打开 pprof 实测一下
  • 用了lock的原因吧。我改写了一下,稍微快点。 代码如下: ```go func pings(ips string,ch chan bool) { c := exec.Command("ping", ips, "-c 1 -W 1") err := c.Run() if err == nil { fmt.Printf("ip addr%s is ok\n", ips) ch <- true } else { ch <- false } } func main() { var counter int = 0 ch := make(chan bool, 8) runtime.GOMAXPROCS(8) for i := 1; i < 254; i += 1 { ips := "202.102.201." + strconv.Itoa(i) go pings(ips, ch) } for i := 1; i < 254; i += 1 { if <-ch { counter += 1 } } fmt.Println(counter) close(ch) } ```