Golang 控制并发数以及定时执行

并发数控制


func main() {
    //并发数
    count := make(chan int, 5)
    for i := 0; i < 5; i++ {
        count <- 1
        go func() {
            fmt.Println("ok")
            defer func() { <-count }()
        }()
    }
    //确保执行完后主线程再退出
    for i := 0; i < 5; i++ {
        count <- 1
    }
}

定时任务执行

func main() {
    for {
        ticker := time.NewTicker(2 * time.Second)
        log.Println("ok")
        <-ticker.C
    }
}

你可能感兴趣的:(开发)