Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "net"
- "sync"
- "time"
- "runtime/pprof"
- "os"
- )
- func main() {
- ch := make(chan bool)
- go func() {
- var mtx sync.Mutex
- ln, err := net.Listen("tcp", "127.0.0.1:8121")
- if err != nil { panic(err) }
- ch <- true
- _, err = ln.Accept()
- if err != nil { panic(err) }
- mtx.Lock()
- }()
- <-ch
- var buf [16*1024]byte
- conn, err := net.Dial("tcp", "127.0.0.1:8121")
- if err != nil { panic(err) }
- for i := 1; i < 100; i++ {
- go func() {
- for {
- _, err = conn.Write(buf[:])
- if err != nil { panic(err) }
- }
- }()
- }
- time.Sleep(1*time.Second)
- pprof.Lookup("goroutine").WriteTo(os.Stdout, 1)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement