golang获取goroutine ID

golang本身不提供获取goroutineID的接口,如果要获取goroutineID可以使用下面的方法

    package main

import (
    "bytes"
    "fmt"
    "runtime"
    "strconv"
)

func main() {
    fmt.Printf("goroutine ID is:%d\n", getGID())
}

func getGID() uint64 {
    b := make([]byte, 64)
    b = b[:runtime.Stack(b, false)]
    b = bytes.TrimPrefix(b, []byte("goroutine"))
    b = b[:bytes.IndexByte(b, ' ')]
    n, _ := strconv.ParseUint(string(b), 10, 64)
    return n
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ———文章来源 YamiOdymel/PHP-to-Golang 为什么从PHP 转到Golang? PHP和模块...
    沐青之枫阅读 14,177评论 19 116
  • 课间,一个孩子匆匆忙忙地跑到我的办公室,看到我就大声说“老师,不好了,左左的头发被蓉蓉甩出去的彩泥粘住了……”...
    慧子有约阅读 1,657评论 0 1
  • 许是金色的模样 沉甸甸地烙在心里 我总在秋天以后 看许多生命沿着风的方向 作出一个个愉悦的终结或延续 这时,我开始...
    慕蓉暖兒阅读 4,692评论 16 26
  • 一 一部老式的黑白电视机,屏幕里正放着一个严肃而又不苟言笑的男子。 电视机斜下方的竹椅上坐着两个小男孩,其中一个瘦...
    时轩阅读 2,383评论 0 0
  • 前行 在爱与恨中进退 或是沾沾自喜 或是忧伤消沉 转身 看到她的第一眼 一珠爱花随之萌芽 我将它浇灌 让爱之火经久...
    厂习十阅读 1,443评论 0 1