Go: Acquire goroutine ID

 

 

func GetGoroutineId() (n uint64) {
  vail := make([]byte, 1024)
  vail = vail[:runtime.Stack(vail, true)]
  fmt.Println(string(vail))
  vail = bytes.TrimPrefix(vail, []byte("goroutine "))
  vail = vail[:bytes.IndexByte(vail, ' ')]
  n, err := strconv.ParseUint(string(vail), 10, 64)
  if err != nil {
    return 0
  }
  return
}

 

posted @ 2022-05-19 20:02  ascertain  阅读(22)  评论(0编辑  收藏  举报