当前位置: 首页 > news >正文

江门建站什么是网络营销公司

江门建站,什么是网络营销公司,系统优化升级95%后不动了,北京专业的网站建设简介 java同事都知道,线程会有对应的id,那么go语言中协程有id吗,其实是有的,但是不建议使用。 实在需要使用的话可以使用本文的例子获取 stack 我们先看一下runtime.Stack打印出来的栈结构,其中就包括了协程id fu…

简介

java同事都知道,线程会有对应的id,那么go语言中协程有id吗,其实是有的,但是不建议使用。

实在需要使用的话可以使用本文的例子获取

stack

我们先看一下runtime.Stack打印出来的栈结构,其中就包括了协程id

func main() {b := make([]byte, 64)b = b[:runtime.Stack(b, false)]fmt.Println(string(b))
}goroutine 1 [running]:
main.main()/Users/shura/GolandProject

通过上面可以看出 1 就是需要的协程id

获取协程id

根据以上的结构,我们就可以截取到协程id

func main() {fmt.Println(GoID())
}func GoID() 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
}输出 1

优化

上面方式虽然确实可以获取到协程id,但是每次都需要做一系列的操作,理论上标准库应该直接提供获取id的方法,但是没提供,那我们自己能不能从源码层面提供呢

我们跟踪runtime.Stack方法进入源码可以看到协程的信息是由 gp := getg()获取到的

再进入getg()查看是一个g的结构体

type g struct {goid         int64
}

这里面就有一个关键的属性goid,但是由于是私有的我们获取不到,所以我们只能从源码层面去添加获取协程id的方法

找到该go文件的路径,例如/Users/shura/support/go/go/src/runtime,执行如下脚本

cat > /Users/shura/support/go/go/src/runtime/shura_goid.go << EOF
package runtimefunc GoID() int64{return getg().goid
}
EOF

测试

func main() {fmt.Println(runtime.GoID())fmt.Println(GoID())
}输出1
1

欢迎关注,学习不迷路!

http://www.shuangfujiaoyu.com/news/54444.html

相关文章:

  • 网站下一步工作怎么做网址seo优化排名
  • 网站优化是在哪里做修改相城seo网站优化软件
  • 大朗网站建设seo从0到1怎么做
  • 装修设计案例网站各大搜索引擎入口
  • 让别人做网站需要注意什么问题免费的网页设计成品下载
  • Mui框架做网站免费推广的预期效果
  • 手机端网站用dw怎么做百度竞价推广出价技巧
  • 网站建设经费预算百度快照怎么删除
  • 河北网站开发报价seo常用工具包括
  • 用织梦做网站还要不要服务器东莞企业网站排名优化
  • 用自己电脑怎么做网站如何修改百度上面的门店号码
  • 济宁做网站的企业黄桃图片友情链接
  • 文山网站建设哪家好网站如何进行优化
  • php怎么解析wordpressseo排名外包
  • 网站banner图自适应搜狗竞价
  • 公司展示类网站模板免费下载百度指数需求图谱
  • 巨鹿做网站哪家好旺道seo营销软件
  • 网站网站制作需要多少钱温州seo网站推广
  • 商丘购物网站开发设计花钱推广的网络平台
  • 上海阔达网站建设公司seo课程培训要多少钱
  • 做网站要注意哪些问题网站seo分析报告
  • 找人合伙做网站平台环球网广东疫情最新消息
  • thinkphp做的网站怎么预览推广app的方法和策略
  • 济宁政府网站建设网络营销和传统营销有什么区别
  • 建筑网站主页搜狗输入法下载安装
  • 卧龙区网站建设哪家好浏览器打开
  • 网站如何做会员登录页面google下载安卓版
  • 会展门户网站源码靠谱的推广平台有哪些
  • 钢筋网片价格多少钱一吨武汉seo和网络推广
  • 怎么做自己的发卡网站友情链接买卖