首先发布于我的gist
package main
import (
"fmt"
"html"
"io/ioutil"
"log"
"net/http"
"sync"
"time"
)
func GetConcurrently() {
// set limit to 10, and make a buffered channel
limit := 10
limiterChan := make(chan struct{
}, limit)
for i := 0; i < limit; i++ {
limiterChan <- struct{
}{
}
}
// set num of goroutines to 1 << 6
// num = 1 * 2^6 = 64
num := 1 << 6
// use sync.Waitgro