+关注继续查看
package main

import (
    "log"
    "net/http"
    _ "net/http/pprof"
    "time"
)

func main() {

    go func() {
        log.Println(http.ListenAndServe(":6060", nil))
    }()

    a := make(chan int)
    for {
        time.Sleep(time.Second)
        go func() {
            <-a
        }()
    }

}
package main

import (
    "log"
    "net/http"
    _ "net/http/pprof"
    "runtime"
    "sync"
)

func main() {

    go func() {
        log.Println(http.ListenAndServe(":6060", nil))
    }()

    var mu sync.Mutex
    var items = make(map[int]struct{})
    runtime.SetMutexProfileFraction(5)

    for i := 0; i < 1000000*1000000; i++ {
        go func(i int) {
            mu.Lock()
            defer mu.Unlock()
            items[i] = struct{}{}
        }(i)
    }
}
<br>